使用WFA接口插入数据期间发生sqlException

时间:2017-03-01 15:46:15

标签: c# mysql asp.net crystal-reports windows-forms-designer

我正在使用Visual Studio和MSSMS的Windows应用程序表单界面进行演示,将数据插入“crystaldb”本地数据库以创建水晶报表。我检查并假设我在我的sql数据库中有正确的表,我正在引用它,它肯定称为“crystaldb”。我在第一次编译时成功插入了1行数据,但之后在编译时抛出了sql异常。

  

这是界面:

Interface for data insertion

  

以下是“提交”和“关闭”按钮的代码和主要功能:

    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();
    }
  

这是数据库表设置:

enter image description here

  

抛出异常:System.Data.dll中的'System.Data.SqlClient.SqlException'

     

无效的对象名称'cystaldb'。

有人可以帮我解决这个问题吗?

2 个答案:

答案 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。