C# 发生SQLException

C# 发生SQLException,c#,c++,sql,C#,C++,Sql,有人能解释一下我的程序有什么问题吗? 我只是想做一个简单的登录程序,因为我是一个初学者,但还是被这个错误卡住了 SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Umer\Documents\Data.mdf;Integra‌​ted Security=True;Connect Timeout=30;"); SqlDataAdapter sda = new S

有人能解释一下我的程序有什么问题吗? 我只是想做一个简单的登录程序,因为我是一个初学者,但还是被这个错误卡住了

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Umer\Documents\Data.mdf;Integra‌​ted Security=True;Connect Timeout=30;");
SqlDataAdapter sda = new SqlDataAdapter("Select Count (*) From dbo.Table where Username='" + textBox1.Text + "'and password ='" + textBox2.Text + "'", con);
DataTable dt = new DataTable();
sda.Fill(dt);
问题在于
sda.Fill(dt)。它说:

SqlException在关键字“Table”附近出现错误语法


它说SqlException在关键字“Table”附近出现了不正确的语法
这是我代码的图片。希望我能得到答案。谢谢

这假设您在引用的sql数据库中有正确的表。 表名为“Table”,它有两列“Username”和“Password”

评论

  • Sql语句将返回用户名和密码匹配的行数
  • 像这样传递参数是危险的,并且受隐藏sql的约束。请使用sqlParameter类
  • 为了便于阅读,您应该列出参数等

    String ConnectionString = @"DataSource=LocalDB)\v11.0;AttachDbFilename=C:\Users\Umer\Documents\Data.mdf;Integra‌​ted Security=True;Connect Timeout=30;";
    String QueryString = @"Select Count (*) From dbo.Table where Username= @Username and Password = @Password";
    
     SqlParameter[] Parameters = {new SqlParameter("Username",textBox1.text)
                                 ,new SqlParameter("Password",textBox2.text)};
    
    
     SqlConnection sqlConnection = new SqlConnection(ConnectionString);
     SqlCommand sqlCommand = new SqlCommand(QueryString, sqlConnection);
     sqlCommand.CommandType = System.Data.CommandType.Text;
    
     sqlCommand.Parameters.AddRange(Parameters);
    
     int nCount;
     if (int.TryParse(sqlCommand.ExecuteScalar().ToString(), out nCount))
     {
         //nCount has valid value
     }
     else
     {
         //nCount has invalid value
     }
    

  • 单个cuote和'and'关键字之间缺少空格

    。。。textBox1.Text+“'和


    顺便说一句,为了避免SQL注入(以及包含引号的密码中的应用程序错误),您还应该使用Mike Schmidt建议的参数。

    您应该发布文本,而不是图片。此外,具体说明您的问题。“代码不起作用”并不太具体。任何人都不可能根据您提供的信息来帮助您(或缺少)。发布您的代码,告诉我们正在发生什么,告诉我们您预期会发生什么,并包括您认为可能重要的任何环境变量。问题在于sda.Fill(dt);它说SqlException在关键字“Table”附近出现了不正确的语法@UmerKhalid我用您在评论中添加的信息更新了问题…以后您应该将所有相关信息放入问题本身。