我正在使用Visual Studio和MSSMS的Windows应用程序表单界面进行演示,将数据插入“crystaldb”本地数据库以创建水晶报表。我检查并假设我在我的sql数据库中有正确的表,我正在引用它,它肯定称为“crystaldb”。我在第一次编译时成功插入了1行数据,但之后在编译时抛出了sql异常。
这是界面:
以下是“提交”和“关闭”按钮的代码和主要功能:
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=ZPCU0209\\SQLSERVERYANG;Initial Catalog=crystaldb;Integrated Security=True");
con.Open();
SqlCommand sc = new SqlCommand("Insert into cystaldb values('"+ textBox1.Text +"',"+ textBox2.Text +",'"+ textBox3.Text +"','"+ textBox4.Text +"','"+ textBox5.Text +"','"+ textBox6.Text +"','"+ textBox7.Text +"','"+ textBox8.Text +"','"+ textBox9.Text +"','"+ textBox10.Text +"',"+ textBox11.Text +");",con);
int o= sc.ExecuteNonQuery();
MessageBox.Show(o + " : Record has been inserted");
con.Close();
}
public static void main(string[] args)
{
Application.Run(new Form1());
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
这是数据库表设置:
抛出异常:System.Data.dll中的'System.Data.SqlClient.SqlException'
无效的对象名称'cystaldb'。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
你错过了一些单引号,现在就试试。
SqlCommand sc = new SqlCommand("Insert into cystaldb values('"+ textBox1.Text +"','"+ textBox2.Text +"','"+ textBox3.Text +"','"+ textBox4.Text +"','"+ textBox5.Text +"','"+ textBox6.Text +"','"+ textBox7.Text +"','"+ textBox8.Text +"','"+ textBox9.Text +"','"+ textBox10.Text +"','"+ textBox11.Text +"')",con);
答案 1 :(得分:1)
您在查询中拼错了crystaldb:
SqlCommand sc = new SqlCommand("Insert into **cystaldb** values(...));
你错过了' r'在crystaldb。