इसका मतलब है कि आपके VALUES
. में निर्दिष्ट मानों की संख्या INSERT
. पर क्लॉज कथन तालिका में स्तंभों की कुल संख्या के बराबर नहीं है। यदि आप केवल चयनित स्तंभों पर सम्मिलित करने का प्रयास करते हैं तो आपको कॉलमनाम निर्दिष्ट करना होगा।
एक और, चूंकि आप ADO.Net
. का उपयोग कर रहे हैं , SQL Injection
से बचने के लिए हमेशा अपनी क्वेरी को पैरामीटरकृत करें . आप अभी जो कर रहे हैं, क्या आप पराजित कर रहे हैं? sqlCommand
. का उपयोग ।
पूर्व
Dim query as String = String.Empty
query &= "INSERT INTO student (colName, colID, colPhone, "
query &= " colBranch, colCourse, coldblFee) "
query &= "VALUES (@colName,@colID, @colPhone, @colBranch,@colCourse, @coldblFee)"
Using conn as New SqlConnection("connectionStringHere")
Using comm As New SqlCommand()
With comm
.Connection = conn
.CommandType = CommandType.Text
.CommandText = query
.Parameters.AddWithValue("@colName", strName)
.Parameters.AddWithValue("@colID", strId)
.Parameters.AddWithValue("@colPhone", strPhone)
.Parameters.AddWithValue("@colBranch", strBranch)
.Parameters.AddWithValue("@colCourse", strCourse)
.Parameters.AddWithValue("@coldblFee", dblFee)
End With
Try
conn.open()
comm.ExecuteNonQuery()
Catch(ex as SqlException)
MessageBox.Show(ex.Message.ToString(), "Error Message")
End Try
End Using
End USing
PS:कृपया क्वेरी में निर्दिष्ट कॉलम नामों को अपनी तालिका में पाए गए मूल कॉलम में बदलें।