Database System.Data.SqlClient.SqlException

时间:2017-03-16 14:07:23

标签: c# sql sql-server database winforms

我正在尝试使用数据库:

 SqlConnection sqlcon = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\DB\LogiDB.mdf;Integrated Security=True;Connect Timeout=30");
            string query = "Select * from tbl_Login Where username = '" + textBox1.Text.Trim().ToLower() + "' and password = '" + textBox1.Text.Trim().ToLower() + "'";
            SqlDataAdapter sda = new SqlDataAdapter(query, sqlcon);
            DataTable dtbl = new DataTable();
            sda.Fill(dtbl);
            if (dtbl.Rows.Count == 1)
            {
               //
            }

我的档案是:

dbo.Table.sql
LogiDB.mdf
LogiDB_log.ldf   
tbl_Login.sql    

不确定我做错了什么但是当我按下按钮时,我用行sda.Fill(dtbl);得到了这个:

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

Additional information: Invalid object name 'tbl_Login'.

2 个答案:

答案 0 :(得分:1)

这是我的代码工作完美, 您可以尝试这一点并比较您的代码

SqlConnection cn = new SqlConnection("Data Source=AVREST\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True");
            cn.Open();
            SqlCommand cmd = new SqlCommand("select loginID,loginPassword from logintavle where loginID='" + textBox1.Text + "'and loginPassword='" + textBox2.Text + "'", cn);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            //sda.SelectCommand = cmd;
            DataTable dataset = new DataTable();
            sda.Fill(dataset);
            if (dataset.Rows.Count > 0)

答案 1 :(得分:1)

错误上写着:Invalid object name 'tbl_Login'

这可能意味着:

  • tbl_Login表并不存在于您的数据库中
  • 您正在连接错误的数据库

由于你有tbl_Login.sql脚本,我想它包含表定义。因此,您需要运行脚本以在LogiDB数据库中创建表。

Here there is example how to connect to local database