【发布时间】:2014-01-16 11:58:09
【问题描述】:
我有一个在visual studio 2012中写的登录方法。登录的代码是:
public DataSet Login(string UserName, string Password)
{
DataSet Message = new DataSet();
Tbl_Users User = new Tbl_Users();
string ClientIP = Context.Request.ServerVariables["REMOTE_ADDR"];
DataSet result = User.Login(UserName, Password, ClientIP);
if (Int16.Parse(result.Tables[0].Rows[0][0].ToString()) < 0)
{
DataTable dt = Message.Tables.Add("results");
dt.Columns.Add("status");
dt.Columns.Add("results");
DataRow row = dt.NewRow();
row[0] = "-1";
row[1] = ErrorFinder.SQlErrorHandeling(Int32.Parse(result.Tables[0].Rows[0][0].ToString()));
dt.Rows.Add(row);
}
else
Message = result;
return Message;
}
当我在 Visual Studio 中执行它时,一切正常。但是当我通过visual studio发布网站并将其放入windows 7 iis时,我收到了这个错误:
System.OverflowException: Value was either too large or too small for an Int16.
at System.Int16.Parse(String s, NumberStyles style, NumberFormatInfo info)
at Service.Login(String UserName, String Password)
我不知道发布的网站有什么问题?
【问题讨论】:
-
具体在哪个值和哪一行?
-
你在做
Int16.Parse(result.Tables[0].Rows[0][0].ToString(),那个单元格的值是多少?你确定它适合 Int16 吗?它只能保存 -32,768 到 32,767 范围内的值
标签: c# asp.net iis visual-studio-2012