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;Integrated 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;Integrated 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;Integrated 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我用您在评论中添加的信息更新了问题…以后您应该将所有相关信息放入问题本身。