2011-06-23 8 views
0
public void ModificaNomeUtente(int slipno , int basicprice , int premium, int totalamountpaid, int weight , int totalamountbasic , int totalamountpremium , int yeildestimates , int farmercode) 
     { 
      // Creo la stringa di Connessione al DataBase 
      SqlConnection sqlConn = new SqlConnection(@"Data Source=TANYA-PC;Initial Catalog=biore1;Integrated Security=True"); 

      // Prova 
      try 
      { 
       // Creo la query che andrà a modificare il nome utente 
       string sqlQuery = "UPDATE cottonpurchse SET slipno = '" + slipno + "' + basic price = '" + basicprice + "' + premium = '" + premium + "' + totalamountpaid = '" + totalamountpaid + "' + weight = '" + weight + "' + totalamountbasic = '" + totalamountbasic + "' + totalamountpremium = '" + totalamountpremium + "' + yeildestimated = '" + yeildestimates + "' = WHERE farmercode = '" + FarmerCode + "'"; 
       SqlCommand cmd = new SqlCommand(sqlQuery, sqlConn); 
       // Apro la connessione con il DataBase Login.sdf 
       sqlConn.Open(); 
       // Eseguo l'istruzione sql 
       cmd.ExecuteNonQuery(); 
       // Chiudo la connessione con il DataBase Login.sdf 
       sqlConn.Close(); 
       // Se la query ha avuto esito positivo imposto la variabile result a true 
       result = true; 
      } 


      // In caso di eccezzione 
      catch (Exception ex) 
      { 
       // Visualizzo il messaggio con la relativa eccezzione verificatasi 
       MessageBox.Show(ex.Message); 
       // Chiudo la connessione con il DataBase Login.sdf 
       sqlConn.Close(); 
       // la query ha avuto esito negativo imposto la variabile result a false 
       result = false; 
      } 

      finally 
      { 
       // Chiudo la connessione con il DataBase Login.sdf 
       sqlConn.Close(); 
      } 
     } 

これは私の値がnullに設定されている可能性がありますか?値を更新する

+1

エラーを報告しますか?もしそうなら、エラーは何ですか? – Ruben

+1

'string sqlQuery'には文字列が含まれています –

+0

いいえエラーがありません – tanya

答えて

1

その文は次のように解析されます。違法であるWHERE=あり

UPDATE cottonpurchse 
SET slipno = '???' + basic price = '???' + premium = '???' + totalamountpaid = '???' + weight = '???' + totalamountbasic = '???' + totalamountpremium = '???' + yeildestimated = '???' = WHERE farmercode = '???' 

は、あなたが,代わり

UPDATE cottonpurchse 
SET slipno = '???' , basic price = '???' , premium = '???' , totalamountpaid = '???' , weight = '???' , totalamountbasic = '???' , totalamountpremium = '???' , yeildestimated = '???' WHERE farmercode = '???' 
+0

しかし、それらの値はintそれはまだ持っているのですか? – tanya

+0

私はちょうど置く???どこにそれらが挿入されるのかを示すあなたの変数(私は知る方法がありません) –

0

? +の意味でしたUPDATE:みんなのコメントが有効です。あなたのSQLは、余分なスペース、余分な+、余分な=のエラーでいっぱいです。あなたは、文字列を構築しているbecuase

string sqlQuery = "UPDATE cottonpurchse SET slipno=" + slipno + ", basicprice=" + basicprice + ", premium=" + premium + ", totalamountpaid=" + totalamountpaid + ", weight=" + weight + ", totalamountbasic=" + totalamountbasic + ", totalamountpremium=" + totalamountpremium + ", yeildestimated=" + yeildestimates + " WHERE farmercode=" + FarmerCode; 

それは混乱して:あなたは、あなたのSQLクエリ文字列は、このする必要があります、と述べたそれは

...そのように文字列を構築しようとしている自分自身を混乱されています。あなたがしようとしていることを実行する最良の(そして最も安全な)方法は、SQLパラメータを使用することです。参照:c# Sqlcommand error(特に「Parameters.Add」を示す回答)

+0

まだdoesntの仕事は、彼らが私のdbにnullとして保存されているという事実と関係がありますか? – tanya