2010-10-28 36 views
5

Ben bir SQL sorgusu var "Sütun null olamaz": manual itibarenSQL sorgusu hatası -

String S = Editor1.Content.ToString(); 
    Response.Write(S);  
    string sql = "insert into testcase.ishan(nmae,orders) VALUES ('9',@S)"; 
    OdbcCommand cmd = new OdbcCommand(sql, myConn); 
      cmd.Parameters.AddWithValue("@S", S); 
      cmd.ExecuteNonQuery(); 

Error: Column 'orders' cannot be null at System.Data.Odbc.OdbcConnection.HandleError

+3

bana açıklayıcı görünüyor –

+0

i zaten string.but içinde bir değer var sql sorguya girmiyor – Ishan

+1

odbc - bu seçim tarafından mı? –

cevap

4

:

When CommandType is set to Text, the .NET Framework Data Provider for ODBC does not support passing named parameters to an SQL statement or to a stored procedure called by an OdbcCommand. In either of these cases, use the question mark (?) placeholder. For example:

SELECT * FROM Customers WHERE CustomerID = ? 

The order in which OdbcParameter objects are added to the OdbcParameterCollection must directly correspond to the position of the question mark placeholder for the parameter in the command text.

bunu kullanın:

string sql = "insert into testcase.ishan(nmae,orders) VALUES ('9', ?)"; 
OdbcCommand cmd = new OdbcCommand(sql, myConn); 
cmd.Parameters.AddWithValue("you_can_write_anything_here_its_ignored_anyway", S); 
cmd.ExecuteNonQuery(); 
+0

ve '?' Için değer nasıl tanımlanır. sorgu ne olduğunu bilir? – Ishan

+0

@ user: koleksiyona bir parametre ekleyin. Eklendiği sıradan bilecek: ilk eklenen parametre ilk '' ', vb. Kopyaladığım alıntıdır. – Quassnoi

+0

Teşekkür ederim SIR !! Çalışıyor – Ishan

0

size yardımcı olacaktır

cmd.Parameters.Add("@S", OdbcType.Char, S); 
+0

'System.Data.Odbc.OdbcParameterCollection.Add (string, System.Data.Odbc.OdbcType, int)' için en iyi aşırı yüklenmiş yöntem eşleşmesi geçersiz geçersiz değişkenlere sahip – Ishan