0
我正在尝试使用ado.net访问c#并使用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");
}
}
当我试图插入数据时,它总是在MessageBox“在插入抓”显示。我无法理解错在哪里,或者是否有任何步骤丢失。我是使用数据库或sql的新东西,只是想学习如何在.net中与数据库进行交互。请指导。
那么,什么是在消息话题你正在捕捉的异常?不要只输出“In Insert catch”,这是没用的。也输出'exc.Message'。 – Carson63000
您正在捕捉一般例外情况,例外情况。您可能会捕获指定的SqlException并查看错误编号,或者针对当前异常,您可能会查看异常详细信息,它可能不是连接 – Habib
请参阅您的exc变量中的内容。 –