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”。我无法理解故障在哪里,或者我是否缺少任何步骤。我是使用数据库或 sql 的新手,只是想学习如何在 .net 中与数据库交互。请指导。

4

1 回答 1

0

我认为有一个小错误只是将您@va2INSERT查询更改为@val2它现在应该可以工作了..

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

于 2012-12-24T07:29:09.740 回答