4个回答
展开全部
我看你的意思应该是通过输入的账户跟密码确定身份吧?我给你说一下原理跟写法吧
string txtConn = "(连接数据库的代码——以oracle数据库为例Provider=MSDAORA.1;Password=数据库密码(默认是sa);Persist Security Info=False;User ID=用户名(默认是sa);Data Source=数据库名称")";///如果是SQL或者Access百度一下,有现成的连接语句,粘过来放在这就行。这句代码放在全局,不要写在单击事件里面,下面的写在点击事件里面。
using (OleDbConnection conn = new OleDbConnection(txtConn))
{
string SqlRecognize = string.Format("select 身份 from table_UesrInfo where 账号='{0}' and 密码='{1}')",UserID,userPassword);
OleDbCommand cmd = new OleDbCommand(SqlRecognize,conn);
conn.Open();
cmd.ExecuteNonQuery();
}
说一下原理,其实不用执行两次查询,UserID,userPassword都是文本框的名称吧,文本框的值是动态变化的,当你输入不同的值的时候,系统会把值赋给sql语句里面的“账号”跟“密码”这两个字段,数据库会执行不同的查询
还有你也可以这么写
select 身份 from table_UesrInfo where 账号='"+UserID+"' and 密码='"+userPassword+"'
你将UserID,userPassword的值直接赋给sql语句,根据不同的值自然会查询出不同的结果。
string txtConn = "(连接数据库的代码——以oracle数据库为例Provider=MSDAORA.1;Password=数据库密码(默认是sa);Persist Security Info=False;User ID=用户名(默认是sa);Data Source=数据库名称")";///如果是SQL或者Access百度一下,有现成的连接语句,粘过来放在这就行。这句代码放在全局,不要写在单击事件里面,下面的写在点击事件里面。
using (OleDbConnection conn = new OleDbConnection(txtConn))
{
string SqlRecognize = string.Format("select 身份 from table_UesrInfo where 账号='{0}' and 密码='{1}')",UserID,userPassword);
OleDbCommand cmd = new OleDbCommand(SqlRecognize,conn);
conn.Open();
cmd.ExecuteNonQuery();
}
说一下原理,其实不用执行两次查询,UserID,userPassword都是文本框的名称吧,文本框的值是动态变化的,当你输入不同的值的时候,系统会把值赋给sql语句里面的“账号”跟“密码”这两个字段,数据库会执行不同的查询
还有你也可以这么写
select 身份 from table_UesrInfo where 账号='"+UserID+"' and 密码='"+userPassword+"'
你将UserID,userPassword的值直接赋给sql语句,根据不同的值自然会查询出不同的结果。
展开全部
string connString=@"server=服务器名; integrated security=true;database=数据库名"; //连接字符串
SqlConnection conn=new SqlConnection(connString); //使用连接类
try {
conn.Open(); //连接数据库
SqlCommand cmd=new SqlCommand(sqlRecognize,conn); //定义命令
SqlDataReader reader= cmd.ExecuteReader();
if(reader.Read()) //调用符合条件的行
{
string 变量=reader[0];
if(变量=="医生")
语句1;
if(变量=="管理员")
语句2;
}
reader.Close();
SqlConnection conn=new SqlConnection(connString); //使用连接类
try {
conn.Open(); //连接数据库
SqlCommand cmd=new SqlCommand(sqlRecognize,conn); //定义命令
SqlDataReader reader= cmd.ExecuteReader();
if(reader.Read()) //调用符合条件的行
{
string 变量=reader[0];
if(变量=="医生")
语句1;
if(变量=="管理员")
语句2;
}
reader.Close();
追问
还有一个问题,我在数据库找哪个“身份”一列的类型是char(10),然后尝试分别输出了一下ExecuteReader()的返回值。一个是“管理员 ”,一个是“医生” 。两个字符串后面都有空格,应该是那10个char没有完的剩下的吧。这个问题应该怎解决
追答
假设你的字符串变量名是doctor,那你doctor.Trim()就可以把空格过滤掉了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Entity Framework吧,找本最新版的ADO.Net Step By Step书看一下就好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询