2011-03-02 10 views
0

以下のコードのエラーは何ですか?[email protected][email protected]のフォームを使用するにはどうすればよいですか?更新するODBCコマンド

string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=new_db;" + "UID=root;" + "PASSWORD=password;" + "OPTION=3"; 

OdbcConnection MyConnection = new OdbcConnection(MyConString); 

OdbcCommand cmd = new OdbcCommand("UPDATE awm_create SET [email protected] WHERE [email protected]" , MyConnection); 

MyConnection.Open(); 

cmd.ExecuteNonQuery(); 
+0

何のエラーがありますか? –

+0

また、referral_emailとメールをフォームを使って与える方法を教えてもらえますか? – lock

+0

エラーはありませんが、レコードは更新されません... :( – lock

答えて

1

電子メールアドレスの前後に一重引用符を置きます。

+0

また、それぞれのフォームに入力を与える方法は?[email protected]と[email protected]ではなく、これらの値をフォームを使用して渡す必要があります。 – lock

2

この試してみてください:あなたのクエリに構文エラーがあり

OdbcCommand cmd = new OdbcCommand("UPDATE awm_create 
    SET referral_email=? WHERE email=?", MyConnection); 

cmd.Parameters.Add("@referral_email", OdbcType.VarChar).Value = "[email protected]"; 
cmd.Parameters.Add("@email", OdbcType.VarChar).Value = "[email protected]"; 
+0

[email protected]と[email protected]の代わりにフォームを使ってこれらの値を渡す必要があります。 – lock

1

UPDATE awm_create SET [email protected] WHERE [email protected] 

はありませんがありますあなたは、そのクエリをパラメータ化する必要がある場合のように、あなたが何かを行うことができます

OdbcCommand cmd = new OdbcCommand("UPDATE awm_create 
    SET referral_email='[email protected]' WHERE email='[email protected]'", 
    MyConnection); 

をいずれかの電子メールアドレスの周りの引用符。このタイプのエラーに直面したとき、それは

UPDATE awm_create SET referral_email='[email protected]' WHERE email='[email protected]' 
            ^--    ^--   ^--    ^-- 
+0

フォームを使用してこれらの値を渡す必要もあります。 [email protected]フォームを使ってこれらの値を渡す必要があります – lock

1

私のトリックである必要があり、コードからSQLクエリをコピーして、データベース・ユーザー・インターフェースを使用してデータベースに対して直接それを実行することです。このようにして、エラーがどこにあるかを確認します。はい、文字列の区切り文字が欠落していて、MYSqlへのクエリインターフェイスでは、IDEインターフェイスでエラーが発生していることがわかっているだけです。
その手順がうまくいく場合は、チェーンを上って何がないか把握してください。