在 System.Data.SqlClient.SqlException 中第一次偶然出现的“System.Data.dll”

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Da... using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace KTV_singSong
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
public static string userName;
public static string userRight;
SqlConnection conn;
SqlDataAdapter da;

private void button1_Click(object sender, EventArgs e)
{
try
{
da = new SqlDataAdapter("select * from user where 用户名='" + textBox1.Text + "'and 密码='" + textBox2.Text + "'", conn);
DataSet ds = new DataSet();
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
int i=da.Fill(ds, "user");
conn.Close();
if (i != 0)
{
userRight = ds.Tables["user"].Rows[0][3].ToString();
if (userRight == "1")
{
switch (comboBox1.Text.Trim())
{
case "点歌系统": frmDB form = new frmDB();
this.Hide();
form.Show();
break;
case "数据库系统": frmMain form1 = new frmMain();
this.Hide();
form1.Show();
break;
}
}
else
{
switch (comboBox1.Text.Trim())
{
case "点歌系统": frmDB form = new frmDB();
this.Hide();
form.Show();
break;
case "数据库系统": MessageBox.Show("为授予权限", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
}
}
}
else
{ MessageBox.Show("您的用户名或密码错误,请重新输入", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
运行以后、点击登录的时候,弹出窗口,user附近有语法错误。
我用的是2005版数据库,数据库名为KTV_DB,其中 user 表 储存的是用户名、密码,权限等。
求指点。
展开
 我来答
手机用户27192
2011-08-25 · TA获得超过236个赞
知道答主
回答量:503
采纳率:100%
帮助的人:97.1万
展开全部
insert语句中的列如果是关键字,需要加中括号,很明显password是关键字,推荐将所有的列都加上中括号以避免此问题:
insert into login_info([username],[password],[role].......

另外,需要考虑到用户的输入可能带有非法关键字或特殊字符,比如单引号,会导致出错,需要将输入的单引号转换为两个单引号,即 “'”-》“''”
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平梦醉神风1I
2011-08-24 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1041万
展开全部
da = new SqlDataAdapter("select * from user where 用户名='" + textBox1.Text + "'and 密码='" + textBox2.Text + "'", conn);
修改为
da = new SqlDataAdapter("select * from [user] where 用户名='" + textBox1.Text + "' and 密码='" + textBox2.Text + "'", conn);

user是sql Server的关键字
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式