2016-03-28 5 views
1
 Dim uname As String 
     uname = Accounts.value 
     Dim comStr As String = "UPDATE tbl_User SET [email protected], [Password][email protected], " & 
           "[Type][email protected], [email protected], [email protected], [email protected], " & 
           "[email protected], [email protected], State/[email protected]/Province1, " & 
           "[email protected], [email protected], [email protected] WHERE [email protected]" 
     Dim cmd = New OleDbCommand(comStr, con) 


     cmd.Parameters.AddWithValue("@username1", TextBox1.Text) 
     cmd.Parameters.AddWithValue("@password1", TextBox2.Text) 
     cmd.Parameters.AddWithValue("@type1", ComboBox1.SelectedText.ToString()) 
     cmd.Parameters.AddWithValue("@Fname1", TextBox3.Text) 
     cmd.Parameters.AddWithValue("@Mname1", TextBox4.Text) 
     cmd.Parameters.AddWithValue("@Lname1", TextBox5.Text) 
     cmd.Parameters.AddWithValue("@address1", TextBox6.Text) 
     cmd.Parameters.AddWithValue("@city1", TextBox7.Text) 
     cmd.Parameters.AddWithValue("@State/Province1", TextBox8.Text) 
     cmd.Parameters.AddWithValue("@country1", TextBox9.Text) 
     cmd.Parameters.AddWithValue("@phone1", Convert.ToInt32(TextBox10.Text)) 
     cmd.Parameters.AddWithValue("@email1", TextBox11.Text) 
     cmd.Parameters.AddWithValue("@value1", TextBox1.Text) 


     'Try 
     cmd.ExecuteNonQuery() 

     'Catch ex As Exception 
     'MessageBox.Show(ex.Message) 
     'Finally 
     con.Close() 
     'End Try 
+3

'State/Province'は列の悪い名前です。あなたがパスワードをしたようにエスケープします(または変更します)。また、パスワードをプレーンテキストとして保存しないでください - ハッシュしてください...そして 'ComboBox1.SelectedText'はあなたが思うようにしないかもしれません。 – Plutonix

+2

...電話番号は実際には数字ではありません。あなたはそれらを加算または減算することはできませんので、数字はありません。 – Plutonix

+1

エラーメッセージを投稿できますか?私は、バックティック( ')または一重引用符( ')でカラム名を囲む必要があると思います。 – vbnet3d

答えて

1

コメントの注記によると、State/Provinceは列に適した名前ではありません。ほとんどのデータベースシステムのパーサは、名前が区切られていない限り、/のスラッシュを拒否します。

大括弧区切り文字[State/Province]を使用すると問題は解決しますが、大規模なシステムを使用している場合を除き、フィールドの名前を変更する必要はありません。代わりにアンダースコアを使用します。

関連する問題