2016-09-14 10 views
-2

私は比較的新しいC#です。私は自分の情報を格納するデータベースを追加する練習をしています。私は私のために働く接続文字列を得ることができません。コードは次のとおりです。私は6歳のチュートリアルからこの情報をとっている私のプロジェクトにSQLローカルサーバーをリンクするのに苦労しています

private void button2_Click(object sender, EventArgs e) 
{ 
    con.Open(); 
    SqlCommand cmd = new SqlCommand(@" INSERT INTO Phon table (First,last,email,mobile,catagory) VALUES ('" + textBox2.Text + "' , '" + textBox3.Text + "' , '" + textBox4.Text + "' , '" + textBox5.Text + "','" + comboBox1.Text + "')"); 
    cmd.ExecuteNonQuery(); 

    con.Close(); 

SqlConnection con = new SqlConnection("Data Source = (LocalDB)/MSSQLLocalDB; AttachDbFilename='C:/Users/joeco_000/Documents/Visual Studio 2015/Projects/Telephone project/Telephone project/Database1.mdf';Integrated Security = True'"); 

私は、あるデータベースに情報を追加するためのボタンがあります。どんな助けも素晴らしいだろう。

+1

おそらく、受信したエラーメッセージを追加する必要があります。 – Steve

+0

まず、古いチュートリアルを使用しないでください。第二に、エラーメッセージを読むことを学ぶ必要があります。これらはすべてのプログラミング言語で非常に重要です。このコマンドを接続に関連付けることを忘れてしまったことをすぐに知ることができます。 – walther

+1

また、これ以上読む前に、https://en.wikipedia.org/wiki/SQL_injectionを読んで、そのテーマに関するより詳しい情報を見つけてください。率直に言って、このチュートリアルでは、データベースを使用するこの方法では、ひどいチュートリアルとしてマークされています。 – Jamiec

答えて

2

クエリを実行しようとする前に、コマンドを接続に関連付けることはありません。これを行う1つの方法は次のとおりです。

SqlCommand cmd = new SqlCommand(sql, connection) 

もう一つの方法は次のとおりです。

cmd.Connection = con; 
0

Phon tableは、有効なテーブル名ではありません。あなたのテーブルは本当に、その名前にスペースがある場合は、角括弧で、これは他の答えが示すように、あなたの接続を使用してコマンドを関連付けるに加えて、あることを

INSERT INTO [Phon table] (First,last,email....... 

注意を、それを囲むようにする必要があります。

関連する問題