首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2013-06-26 
请教为何定义的变量没有顺利赋值~?DB db new DB()int istring lsql select max([ID]) from Attachm

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


        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;

热点排行