0

ado.net を使用して c# でデータにアクセスして挿入しようとしています。私のコンピューターにはSQLサーバーがインストールされているため、マシン名がサーバー名になると思います。以下は、データベースに接続するために使用している手順です。

private void dbButton_Click(object sender, EventArgs e)
    {
         connectionString = "Server = ITSL-SALT-33; Database = sampleADO; User Id = sa; Password = abcd;";
         try
         {
             SqlConnection conn = new SqlConnection(connectionString);
             conn.Open();
             MessageBox.Show("Successfully connected to the database.");
             insertButton.Enabled = true;
             loadButton.Enabled = true;

         }


         catch (Exception exc)
         {
             Console.WriteLine(exc.ToString());
             MessageBox.Show("Connection attempt failed");
         }
    }

以下は挿入ボタンのコードです。

private void insButton_Click(object sender, EventArgs e)
    {
       cmdString="INSERT INTO books (name,author,price) VALUES (@val1, @va2, @val3)";

        SqlCommand comm = new SqlCommand();

    comm.Connection = conn;
    comm.CommandText= cmdString;
    comm.Parameters.AddWithValue("@val1", txtBook.Text);
    comm.Parameters.AddWithValue("@val2", txtAuthor.Text);
    comm.Parameters.AddWithValue("@val3", txtPrice.Text);
    comm.Parameters.AddWithValue("@val3", txtComments.Text);
    try
    {
        MessageBox.Show(conn.DataSource);
        Console.WriteLine(comm.ExecuteNonQuery());
        Console.ReadLine();

    }
    catch(Exception exc)
    {
        MessageBox.Show("In Insert catch");

    }
}

データを挿入しようとすると、メッセージボックスに常に「in insert catch」と表示されます。どこに問題があるか、または抜けているステップがあるかどうかを理解できません。私は、.net でデータベースを操作する方法を学ぼうとしているだけで、データベースや SQL を使用するのは初めてです。ガイドしてください。

4

1 に答える 1

0

クエリ@va2であなたを変更するだけの小さな間違いがあると思います..INSERT@val2

cmdString="INSERT INTO books (name,author,price) VALUES (@val1, @va2@val3)";

于 2012-12-24T07:29:09.740 に答える