下面是我写的一段代码, static string str = @"Data Source=(local);Initial Catalog=myuser;User ID=sa";
static SqlConnection conn = new SqlConnection(str);//数据库连接 public static string updatepass(string username, string pass)
{
bool a = false;
string sql = "update users set password='" + pass + "' where username='" + username + "'";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
try
{
cmd.ExecuteNonQuery();//执行SQL语句
a = true;//操作成功
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Dispose();
conn.Close();
}
return a;
} //用户注册,向数据库插入一条数据
public static bool InsertUser(string username, string password, string mail, string name,string roleid)
{
bool b = false;
//构造sql语句
string sql = "INSERT INTO users (username, [password], mail, name,roleid) VALUES ('";
sql += username + "','" + password + "','" + mail + "','" + name + "','" + roleid + "')";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
try
{
cmd.ExecuteNonQuery();//执行SQL语句
b = true;//操作成功
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Dispose();
conn.Close();
}
return b; }在这段代码中,存储不会出什么问题,但是更新语句在调试时出了问题,给出的提示为:错误 5,无法将类型“bool”隐式转换为“string” 就是在return a;这一句上,请高手赐教!谢谢
static SqlConnection conn = new SqlConnection(str);//数据库连接 public static string updatepass(string username, string pass)
{
bool a = false;
string sql = "update users set password='" + pass + "' where username='" + username + "'";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
try
{
cmd.ExecuteNonQuery();//执行SQL语句
a = true;//操作成功
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Dispose();
conn.Close();
}
return a;
} //用户注册,向数据库插入一条数据
public static bool InsertUser(string username, string password, string mail, string name,string roleid)
{
bool b = false;
//构造sql语句
string sql = "INSERT INTO users (username, [password], mail, name,roleid) VALUES ('";
sql += username + "','" + password + "','" + mail + "','" + name + "','" + roleid + "')";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
try
{
cmd.ExecuteNonQuery();//执行SQL语句
b = true;//操作成功
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Dispose();
conn.Close();
}
return b; }在这段代码中,存储不会出什么问题,但是更新语句在调试时出了问题,给出的提示为:错误 5,无法将类型“bool”隐式转换为“string” 就是在return a;这一句上,请高手赐教!谢谢
你这里说明返回值是string,但是你下面a是bool型的把
public static string updatepass(string username, string pass)
改成
public static bool updatepass(string username, string pass)
应该就可以了
public static bool updatepass(string username, string pass)
你的方法返回的string,而在方法内实际返回的是bool
b = true;//操作成功 这句话用个messengebox来SHOW一下好了!
呵呵^楼上的都可以!关键要看返回值是什么类型的!
你的函数返回String类型!!
但是你返回的是Bool类型!!