我想做一個後端方法調用連接到數據庫並更新工作表中的記錄。方法調用的工作完全不拋出任何錯誤,但同時它不更新任何表中的記錄。
注意:
這是我的方法片段連接數據庫並試圖執行更新查詢ExecuteNonQuery()方法。
公共空間更新(見解ins)
{
字符串DbConnection = ConnectionSetting.ConnectDatabricks ();
字符串查詢= @”更新射箭洞察力= ' ?”,標題= ' ?主題= '哪裏來”;
試一試
{
使用(OdbcConnection連接= new OdbcConnection (DbConnection))
{
connection.Open ();
OdbcCommand命令= new OdbcCommand(查詢、連接);
命令。CommandText =查詢;
command.Parameters。添加(@insight OdbcType.NVarChar)。值= ins.Insight;
command.Parameters。添加(@title OdbcType.NVarChar)。值= ins.Title;
command.Parameters。添加(@subject OdbcType.NVarChar)。值= ins.Subject;
command.ExecuteNonQuery ();
}
}
抓住(異常)
{
扔;
}
}
表模式如下:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
列名稱類型
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
InsightId BigInt(主鍵)
洞察力字符串
標題字符串
主題字符串
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
有什麼更多的呢?請建議。
嗨@Debayan穆克吉,
謝謝你的回應。當我調試達到command.ExecuteNonQuery ();它不會拋出任何錯誤。相反,它返回1,這意味著沒有行受影響。
此外,我分享我的連接參數是否有差異(很可能是我可以檢索數據沒有任何問題)
公共靜態字符串ConnectDatabricks () {OdbcConnectionStringBuilder OdbcConnectionStringBuilder;odbcConnectionStringBuilder = new odbcConnectionStringBuilder{司機=“辛巴火花ODBC驅動程序”};odbcConnectionStringBuilder。Add(“數據源名稱”、“sparkdb”);odbcConnectionStringBuilder。添加(“主機”、“adb-blah.azuredatabricks.net”);odbcConnectionStringBuilder。添加(“港”,“443”);odbcConnectionStringBuilder。添加(“SSL”,“1”);odbcConnectionStringBuilder。添加(“ThriftTransport”,“2”); odbcConnectionStringBuilder.Add("AuthMech", "3"); odbcConnectionStringBuilder.Add("UID", "token"); odbcConnectionStringBuilder.Add("PWD", "somepassword"); odbcConnectionStringBuilder.Add("HTTPPath", "/sql/1.0/warehouses/12345678"); return odbcConnectionStringBuilder.ConnectionString; }
我找到了一個臨時工作。而不是通過參數傳遞價值,下麵我通過了價值直接查詢。我知道這不是最理想的方式,但這是工作。如果我不通過的值如下所示,磚的日誌讀取問號(?)值傳入update語句。
公共空間更新(見解ins){字符串DbConnection = ConnectionSetting.ConnectDatabricks ();字符串查詢= @ = ' {ins”更新射箭的洞察力。洞察力}”,標題= ' {ins。標題}主題= {ins.Subject}’”;嚐試使用(OdbcConnection連接={新OdbcConnection (DbConnection)) {connection.Open ();OdbcCommand命令= new OdbcCommand(查詢、連接);命令。CommandText =查詢;command.ExecuteNonQuery ();}}趕上(異常){扔;}}