public int GetClassIDByClassName(string className)
{
string number = string.Empty;
SqlConnection conn = new SqlConnection(connstring );
SqlCommand objCommand = new SqlCommand(dboOwner +".usp_SelectClassIDByClassName",conn );
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.Add("@ClassName",SqlDbType.NVarChar ,50).Value =className ;
conn.Open();
SqlDataReader objReader = objCommand.ExecuteReader(CommandBehavior .CloseConnection );
if (objReader.Read())
{
number = Convert.ToInt32 (objReader["ClassID"]);
objReader.Close();
objReader.Dispose();
conn.Close();
conn.Dispose();
return number;
}
}
number = Convert.ToInt32 (objReader["ClassID"]);---无法将类型“int”隐式转换为“string”return number;---无法将类型“string”隐式转换为“int”请教各位前辈这是哪错了?
谢谢~
{
int number = string.Empty;
SqlConnection conn = new SqlConnection(connstring );
SqlCommand objCommand = new SqlCommand(dboOwner +".usp_SelectClassIDByClassName",conn );
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.Add("@ClassName",SqlDbType.NVarChar ,50).Value =className ;
conn.Open();
SqlDataReader objReader = objCommand.ExecuteReader(CommandBehavior .CloseConnection );
if (objReader.Read())
{
number = Convert.ToInt32 (objReader["ClassID"]);
objReader.Close();
objReader.Dispose();
conn.Close();
conn.Dispose();
return number;
}
} return number;
--------》
int number = 0;
public int GetClassIDByClassName(string className)
{
int number = 0;
SqlConnection conn = new SqlConnection(connstring );
SqlCommand objCommand = new SqlCommand(dboOwner +".usp_SelectClassIDByClassName",conn );
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.Add("@ClassName",SqlDbType.NVarChar ,50).Value =className ;
conn.Open();
SqlDataReader objReader = objCommand.ExecuteReader(CommandBehavior .CloseConnection );
if (objReader.Read())
{
number = Convert.ToInt32 (objReader["ClassID"]);
objReader.Close();
objReader.Dispose();
conn.Close();
conn.Dispose();
return number;
}
}
number = Convert.ToInt32 (objReader["ClassID"]);---无法将类型“int”隐式转换为“string”return number;---无法将类型“string”隐式转换为“int”
把它申明为int就好了
但 Convert.ToInt32 (objReader["ClassID"]); 返回的是int类型的,
你让一个string的变量等于一个int的,当然不能隐式转换了 number = Convert.ToInt32 (objReader["ClassID"]); //wrong!
int number =0;
忘记改了
用这个但 return number; 依然会报错
这段代码是我按书上例子敲的,是通过班级名字来获得班级ID吧,说实在我不懂很懂这段代码的意思把number从string类型改成int类型没问题吗?
public int GetClassIDByClassName(string className)
{
string number = string.Empty;
SqlConnection conn = new SqlConnection(connstring );
SqlCommand objCommand = new SqlCommand(dboOwner +".usp_SelectClassIDByClassName",conn );
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.Add("@ClassName",SqlDbType.NVarChar ,50).Value =className ;
conn.Open();
SqlDataReader objReader = objCommand.ExecuteReader(CommandBehavior .CloseConnection );
if (objReader.Read())
{
number = Convert.ToInt32 (objReader["ClassID"]);
objReader.Close();
objReader.Dispose();
conn.Close();
conn.Dispose();
return number;
}
}
{
int number = 0;
SqlConnection conn = new SqlConnection(connstring);
SqlCommand objCommand = new SqlCommand(dboOwner + ".usp_SelectClassIDByClassName", conn);
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.Add("@ClassName", SqlDbType.NVarChar, 50).Value = className;
conn.Open();
SqlDataReader objReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection);
if (objReader.Read())
{
number = Convert.ToInt32(objReader["ClassID"]);
objReader.Close();
objReader.Dispose();
conn.Close();
conn.Dispose();
}
return number;
}
GetClassIDByClassName---并非所有的代码路径都返回值