如何知道是否已建立连接

时间:2012-12-24 06:37:15

标签: c# sql database ado.net

我正在尝试使用ado.net访问和插入带有c#的数据。我在我的计算机上安装了sql server,因此我觉得机器名称将是服务器名称。以下是我用来连接数据库的步骤。

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中的数据库进行交互。请指导。

1 个答案:

答案 0 :(得分:0)

我认为将@va2查询中的INSERT更改为@val2只会出现一个小错误,现在应该可以正常运行..

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