我遇到了这个问题,我使用的是Oracle命令和参数。我的代码中有数百个其他查询,但只是这个查询无法执行。这是一个非常简单的更新查询,它可以在SQL Navigator中运行,因为我尝试过它。
在代码中,执行非查询方法似乎冻结了,我在我的网页上得到“等待http:// localhost:8081 / MaintainUserProfile.aspx”。
我感谢你的帮助,因为我浪费了几个小时,而且在这个阶段我一无所知。
如果我要说明更多信息,请告诉我。
下面的代码(请注意我使用oracle参数,但在这种情况下我只是使用普通字符串来调试问题,oracle参数也会发生同样的事情,它会在执行非查询时卡住):
string sqlQuery = @"UPDATE schema_name.table_name
SET
officer_name = '" + fullName +
"', channel_code = " + channelCode +
", male_female_ind = '" + maleFemale +
"', user_status_code = '" + userStatusCode +
"', identity_number = '" + idNumber +
"', extension_number = " + extensionNumber +
" WHERE user_profile_id = " + userProfileID;
OracleCommand oraCommand2 = new OracleCommand(sqlQuery, db);
oraCommand2.ExecuteNonQuery();
答案 0 :(得分:1)
您可以尝试使用此代码 - 基于AddWithValue
oraCommand2.CommandText="UPDATE schema_name.table_name SET
officer_name = :fullName , channel_code = :channelCode,
male_female_ind = :male_female_ind, user_status_code = :user_status_code,
identity_number = :idNumber, extension_number = :extensionNumber
WHERE user_profile_id = :userProfileID";
oraCommand2.Parameters.AddWithValue(":fullName", fullName);
oraCommand2.Parameters.AddWithValue(":channelCode", channelCode);
oraCommand2.Parameters.AddWithValue(":male_female_ind", male_female_ind );
oraCommand2 .Parameters.AddWithValue(":user_status_code", user_status_code );
oraCommand2 .Parameters.AddWithValue(":identity_number", identity_number );
oraCommand2 .Parameters.AddWithValue(":extension_number", extension_number );
oraCommand2 .Parameters.AddWithValue(":user_profile_id", user_profile_id );
答案 1 :(得分:0)
Kenneth在此Post中回答了这个问题,这可能是由于SQLDeveloper中的未提交操作(或任何其他未提交的待定数据库更改)。