string cmdStr = "INSERT INTO Names(ID,FirstName) VALUES(@ID,@FirstName)";
嘗試[] does not help can any any help please please?我在INSERT INTO語句中得到語法錯誤
訪問2007
string cmdStr = "INSERT INTO Names(ID,FirstName) VALUES(@ID,@FirstName)";
嘗試[] does not help can any any help please please?我在INSERT INTO語句中得到語法錯誤
訪問2007
假設你用正確的方式來處理您的參數,查詢應該正常工作。
var conn = new SqlConnection(connStr);
conn.Open();
var cmd = new SqlCommand(cmdStr, conn);
cmd.Parameters.AddWithValue("@ID", id);
cmd.Parameters.AddWithValue("@FirstName", firstName);
一個問題可能是如果ID列標記爲標識列。在這種情況下,你必須暫時啓用標識插入:
var cmdStr = @"SET IDENTITY_INSERT Names ON; " +
@"INSERT INTO Names(ID,FirstName) VALUES(@ID,@FirstName); " +
@"SET IDENTITY_INSERT Names OFF;"
或者,如上所述,如果你有一列,不能爲空,那麼你當然必須包括它的值。
在任何情況下,拋出的SqlException或OleDbException都應該告訴你到底發生了什麼問題。
var cmdStr = @「SET IDENTITY_INSERT Names ON;」+ @「INSERT INTO Names(ID,名字)VALUES(@ ID,@ FirstName);「+ @」SET IDENTITY_INSERT Names OFF;「其ole db setidentife不適合我 – Rishta
,它可以爲空。 – Rishta
請使用完整的句子。很難理解你打算說什麼。以上是否意味着您使用的是OleDB,並且該表中的所有列都可以爲空? OleDb無法查看某個表是否包含標識列,並且如果嘗試在沒有標識列的表上設置IDENTITY_INSERT,SQL Server將引發錯誤。檢查異常以確定它是哪一個。 –
這就是問題所在:字符串cmdStr = 「INSERT INTO學生(ID,名字,市)VALUES(@ ID,@名字,@市)」 工作正常
這就是問題所在,您的表格有3列,但可能沒有City
的默認值,如果您不告訴它應該輸入City
它不知道並且會失敗。
您必須始終指定城市或編輯表格定義以包含默認值City
。
串cmdStr = 「INSERT INTO名稱(ID,名字)VALUES(1001, '思雅')」 工作
它可以幫助您分析什麼是你在你的代碼做你運行你的另一插入語句,你插入之前的學生。
好的thnx幫助我理解也許問題 – Rishta
你是什麼意思的「嘗試[]」?你究竟試過了什麼,發生了什麼? –
[姓名]仍嘗試syntex – Rishta
其非自動編號其主要但不自動 – Rishta