关于无法将类型“object”隐式转换为“string”
原码:
<script runat="server">
void SubmitBtn_Click(Object sender, EventArgs e)
{
Session["username"]="";
OleDbConnection objConnection;
OleDbCommand objCommand;
OleDbDataReader objDataReader;
string password;
objConnection=new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath("sa.mdb"));
objCommand=new OleDbCommand("select * from mast where USERNAME='" + name.Text + "'" , objConnection);
objConnection.Open();
objDataReader=objCommand.ExecuteReader();
if (objDataReader.Read())
{
password=objDataReader["PASSWORD"]; //这一行就是出错的地方
if (password == passwd.Text)
{
Session["MM_Username"]=name.Text;
Response.Redirect ("index.aspx");
}
else
{
Response.Write( "出错,请重新输入.");
}
}
objConnection.Close();
}
</script>
错误提示:编译器错误信息: CS0029: 无法将类型“object”隐式转换为“string”
库中的字段PASSWORD为数字类型,
我只要将这句改成password=objDataReader["PASSWORD"].ToString(); 就可以通过
但我在准备在另一页还要将这个SESSION来同别的数字类型作比较,所以此方法好像行不通, <script type="text/javascript"></script>
password=objDataReader["PASSWORD"].ToString();
这句正确
同别的数字类型作比的时候把SESSION转换成数字类型的再比较。
session对象中保存的值如何赋到一个文本框中?是不是textbox.text=session["名称"].tostring; 如果是的话是写在.cs页面中吗?
TextBox1.Text = Session["名称"].ToString();
TextBox11.Text = Session["xh"].ToString(); //转换数据类型
TextBox12.Text = Session["name"].ToString();