public static int GetIn( string Uid, string Pwd )
{
OleDbConnection con = new OleDbConnection(
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=saa;Initial Catalog=test;Data Source=A");
string sql ="select privilage as num from pri whre id=? and ps=?";
OleDbCommand com = new OleDbCommand( sql, con );
com.Parameters.Add( "?", SqlDbType.NVarChar ).Value = Uid;
com.Parameters.Add( "?", SqlDbType.NVarChar ).Value = Pwd;
int level = -10;
con.Open();
level = Convert.ToInt32(com.ExecuteScalar());
con.Close();
switch( level )
{
case 0: return 0; //非法用户
case 1: return 1; //合法学生
case 10: return 10; //管理员
}
return 0;
}
level = Convert.ToInt32(com.ExecuteScalar()); 执行到这行发生ledbexception请问怎么回事? 谢谢
{
OleDbConnection con = new OleDbConnection(
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=saa;Initial Catalog=test;Data Source=A");
string sql ="select privilage as num from pri whre id=? and ps=?";
OleDbCommand com = new OleDbCommand( sql, con );
com.Parameters.Add( "?", SqlDbType.NVarChar ).Value = Uid;
com.Parameters.Add( "?", SqlDbType.NVarChar ).Value = Pwd;
int level = -10;
con.Open();
level = Convert.ToInt32(com.ExecuteScalar());
con.Close();
switch( level )
{
case 0: return 0; //非法用户
case 1: return 1; //合法学生
case 10: return 10; //管理员
}
return 0;
}
level = Convert.ToInt32(com.ExecuteScalar()); 执行到这行发生ledbexception请问怎么回事? 谢谢
最好用sql的库类吧
object obj = com.ExecuteScalar();
if (obj is int)
{
level = (int)obj);
}
else if (obj is string)
{
int.TryParse(obj.ToString(), out level);
}
else
{
....
}
改成如下的写法:object obj = com.ExecuteScalar();
if (obj is int)
{
level = (int)obj);
}
else if (obj is string)
{
int.TryParse(obj.ToString(), out level);
}
else
{
....
}
我这里就报异常了
if(dr.Read())
{
dr.isDBNull(0)
{
level=0
}else
{
level=dr.GetInt(0);
}
}else
{
level=0;
}