请教为何定义的变量没有顺利赋值~?
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;