读书人

请问为何定义的变量没有顺利赋值~

发布时间: 2013-06-26 14:29:32 作者: rapoo

请教为何定义的变量没有顺利赋值~?


DB db = new DB();
int i;
string lsql = "select max([ID]) from AttachmentTab";
SqlConnection con = db.GetCon();
con.Open();
SqlCommand cmd = new SqlCommand(lsql, con);
SqlDataReader Qcmd = cmd.ExecuteReader();
while (Qcmd.Read())
{
//Label3.Text = Qcmd[0].ToString();
i = int.Parse(Qcmd[0].ToString()) + 1;
}
Qcmd.Close();
con.Close();

///创建文件目录
string sPath = Server.MapPath(".") + "/upload/" + DateTime.Now.ToString("yyyy-MM").Replace("-", "") + "/"+i.ToString();


请教该如何修改才能对i正确赋值???
[解决办法]


DB db = new DB();
string lsql = "select max([ID]) from AttachmentTab";
SqlConnection con = db.GetCon();
con.Open();
SqlCommand cmd = new SqlCommand(lsql, con);
int i = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();

[解决办法]
原因是你那句sql 可能查不出数据,然后就不会执行sqldatareader,也就不会走到while(read)里面,着就是为什么你的i没有赋值。
[解决办法]
定义变量i的时候你可以 int i=1;
如果说while没有数据循环的时候i也就没有赋值了。
[解决办法]
int i;

=》

int i=0;

读书人网 >asp.net

热点推荐