C# 未处理sqlException
用C#做一个登陆窗体程序,代码不报错,但在调试的时候一点击登陆总是报错:未处理sqlException,感觉是数据库连接出问题了,但是找不到问题在哪,大家帮忙看看代码如下...
用C#做一个登陆窗体程序,代码不报错,但在调试的时候一点击登陆总是报错:未处理sqlException,感觉是数据库连接出问题了,但是找不到问题在哪,大家帮忙看看
代码如下:
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string yhm = this.textBox1.Text.ToString();
string mm = this.textBox2.Text.ToString();
SqlConnection thisconnection = new SqlConnection("Data Source=localhost;Initial Catalog=YGXX;Integrated Security=True");
thisconnection.Open();
SqlCommand thiscommand = thisconnection.CreateCommand();
thiscommand.CommandText = "select ID,PS from Users where ID='" + yhm + " '";
SqlDataReader thisreader = thiscommand.ExecuteReader(); //此句报错,未处理sqlException,''附近有语法错误
if (thisreader.Read())
{
if (thisreader["PS"].ToString().Trim() == mm)
{
MessageBox.Show("恭喜您登陆成功!", "登陆成功!", MessageBoxButtons.OK, MessageBoxIcon.Information);
new frmLogin().Hide();
new Form1().Show();
}
else
{
this.textBox2.Text = "";
MessageBox.Show("密码错误,请重新输入!", "错误", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Information);
}
}
…… 展开
代码如下:
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string yhm = this.textBox1.Text.ToString();
string mm = this.textBox2.Text.ToString();
SqlConnection thisconnection = new SqlConnection("Data Source=localhost;Initial Catalog=YGXX;Integrated Security=True");
thisconnection.Open();
SqlCommand thiscommand = thisconnection.CreateCommand();
thiscommand.CommandText = "select ID,PS from Users where ID='" + yhm + " '";
SqlDataReader thisreader = thiscommand.ExecuteReader(); //此句报错,未处理sqlException,''附近有语法错误
if (thisreader.Read())
{
if (thisreader["PS"].ToString().Trim() == mm)
{
MessageBox.Show("恭喜您登陆成功!", "登陆成功!", MessageBoxButtons.OK, MessageBoxIcon.Information);
new frmLogin().Hide();
new Form1().Show();
}
else
{
this.textBox2.Text = "";
MessageBox.Show("密码错误,请重新输入!", "错误", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Information);
}
}
…… 展开
2个回答
展开全部
你的联接串有问题,
就是将SqlConnection thisconnection = new SqlConnection("Data Source=localhost;Initial Catalog=YGXX;Integrated Security=True");这句
改成SqlConnection thisconnection = new SqlConnection("server=.;uid=sa;pwd=sa;database=db");
//////////////////////////////////////////////////////////////
server=服务地址或IP+实例名;uid=数据库用户名;pwd=数据库用户密码;database=数据库名
上例server=.中的.代表本机,如果不是默认实例请用 机器名\实例名
就是将SqlConnection thisconnection = new SqlConnection("Data Source=localhost;Initial Catalog=YGXX;Integrated Security=True");这句
改成SqlConnection thisconnection = new SqlConnection("server=.;uid=sa;pwd=sa;database=db");
//////////////////////////////////////////////////////////////
server=服务地址或IP+实例名;uid=数据库用户名;pwd=数据库用户密码;database=数据库名
上例server=.中的.代表本机,如果不是默认实例请用 机器名\实例名
展开全部
建议用下适配器喽一样的结果
我写的一个简单的登录页面代码不过是mysql数据库 CNS源代码可以在这里面下载看看
http://pan.baidu.com/share/link?shareid=3731005045&uk=2955705876
你自己修改下改成sql也蛮简单的
修改类文件中的命名空间
using sysytem.data.mysqlc...为sqlc...
登录按钮页面代码
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Attributes.Add("OnFocus", "if(this.value=='请输入用户名') {this.value=''}");
TextBox1.Attributes.Add("OnBlur", "if(this.value==''){this.value='请输入用户名'}");
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
cns verify = new cns();//访问数据库链接操作语句类
string upswod = cns.Encrypt(TextBox2.Text);//MD5加密比对
string sql = "select user_name,user_pswod from user_info where user_name='" + TextBox1.Text + "'";
cns.getadaoter(sql);//数据适配器操作方法
DataSet ds = new DataSet();
cns.getadaoter(sql).Fill(ds, "user");
if (ds.Tables["user"].Rows.Count <= 0)//判断用户是否存在
{
//Response.Write("<script>window.alert('!');location.href='~/login.aspx';</script>");//跳转页面
Label1.Text = "*用户不存在!";
Label1.ForeColor = Color.Red;
}
else
{
foreach (DataRow row1 in ds.Tables["user"].Rows)//
{
if (upswod.ToString() == row1[1].ToString())//比对MD5密码
{
HttpCookie cookie = new HttpCookie("demo");//生成cookie
//设定Cookie的值
cookie.Value = ""+row1[0]+"";
//设定cookie生命为1周,也就是1天
cookie.Expires = DateTime.Now.AddDays(1);
//添加Cookie
Response.Cookies.Add(cookie);
Response.Write("<script>window.alert('恭喜登录成功!');</script>");
Response.Redirect("Default.aspx");
Response.End();
}
else
{
Label2.Text = "密码错误!";
Label2.ForeColor = Color.Red;
TextBox1.Focus();
}
}
我写的一个简单的登录页面代码不过是mysql数据库 CNS源代码可以在这里面下载看看
http://pan.baidu.com/share/link?shareid=3731005045&uk=2955705876
你自己修改下改成sql也蛮简单的
修改类文件中的命名空间
using sysytem.data.mysqlc...为sqlc...
登录按钮页面代码
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Attributes.Add("OnFocus", "if(this.value=='请输入用户名') {this.value=''}");
TextBox1.Attributes.Add("OnBlur", "if(this.value==''){this.value='请输入用户名'}");
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
cns verify = new cns();//访问数据库链接操作语句类
string upswod = cns.Encrypt(TextBox2.Text);//MD5加密比对
string sql = "select user_name,user_pswod from user_info where user_name='" + TextBox1.Text + "'";
cns.getadaoter(sql);//数据适配器操作方法
DataSet ds = new DataSet();
cns.getadaoter(sql).Fill(ds, "user");
if (ds.Tables["user"].Rows.Count <= 0)//判断用户是否存在
{
//Response.Write("<script>window.alert('!');location.href='~/login.aspx';</script>");//跳转页面
Label1.Text = "*用户不存在!";
Label1.ForeColor = Color.Red;
}
else
{
foreach (DataRow row1 in ds.Tables["user"].Rows)//
{
if (upswod.ToString() == row1[1].ToString())//比对MD5密码
{
HttpCookie cookie = new HttpCookie("demo");//生成cookie
//设定Cookie的值
cookie.Value = ""+row1[0]+"";
//设定cookie生命为1周,也就是1天
cookie.Expires = DateTime.Now.AddDays(1);
//添加Cookie
Response.Cookies.Add(cookie);
Response.Write("<script>window.alert('恭喜登录成功!');</script>");
Response.Redirect("Default.aspx");
Response.End();
}
else
{
Label2.Text = "密码错误!";
Label2.ForeColor = Color.Red;
TextBox1.Focus();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询