在 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 表 储存的是用户名、密码,权限等。
求指点。 展开
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 表 储存的是用户名、密码,权限等。
求指点。 展开
2个回答
展开全部
insert语句中的列如果是关键字,需要加中括号,很明显password是关键字,推荐将所有的列都加上中括号以避免此问题:
insert into login_info([username],[password],[role].......
另外,需要考虑到用户的输入可能带有非法关键字或特殊字符,比如单引号,会导致出错,需要将输入的单引号转换为两个单引号,即 “'”-》“''”
insert into login_info([username],[password],[role].......
另外,需要考虑到用户的输入可能带有非法关键字或特殊字符,比如单引号,会导致出错,需要将输入的单引号转换为两个单引号,即 “'”-》“''”
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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的关键字
修改为
da = new SqlDataAdapter("select * from [user] where 用户名='" + textBox1.Text + "' and 密码='" + textBox2.Text + "'", conn);
user是sql Server的关键字
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询