注册 登录
编程论坛 ASP.NET技术论坛

关于GridView更新操作

yyldir 发布于 2008-03-09 16:40, 798 次点击
string id = GV_kh.DataKeys[e.RowIndex].Value.ToString();//主键
string mingcheng = ((TextBox)(GV_kh.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string sql = "update JB_khxx set mingcheng=@mingcheng where id=@id";

mycom.Parameters.Add("@id",System.Data.OleDb.OleDbType.VarChar).Value = id;
mycom.Parameters.Add("@mingcheng", System.Data.OleDb.OleDbType.VarChar).Value = mingcheng;

为什么不能修改数据库,我用的是Access数据库;如果改成下面的又可以操作;
string sql = "update JB_khxx set mingcheng='"+mingcheng+"' where id = '"+id+"'";
3 回复
#2
1916381412008-03-09 20:08
mycom.Parameters.Add("@id",System.Data.OleDb.OleDbType.VarChar);
mycom.Parameters["@id"].Value=id;
#3
yyldir2008-03-10 12:26
string id = GV_kh.DataKeys[e.RowIndex].Value.ToString();
        string mingcheng = ((TextBox)(GV_kh.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
        string dianhua = ((TextBox)(GV_kh.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
        string dizhi = ((TextBox)(GV_kh.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();
        string youbian = ((TextBox)(GV_kh.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim();

        string sql = "update JB_khxx set mingcheng=@mingcheng,dianhua=@dianhua,dizhi=@dizhi,youbian=@youbian where id=@id";
        DbConnection dc = new DbConnection();
        OleDbConnection mycon = new OleDbConnection(dc.ConnectionString);
        OleDbCommand mycom = new OleDbCommand(sql, mycon);

        mycom.Parameters.Add("@id", System.Data.OleDb.OleDbType.VarChar);
        mycom.Parameters.Add("@mingcheng", System.Data.OleDb.OleDbType.VarChar);
        mycom.Parameters.Add("@dianhua", System.Data.OleDb.OleDbType.VarChar);
        mycom.Parameters.Add("@dizhi", System.Data.OleDb.OleDbType.VarChar);
        mycom.Parameters.Add("@youbian", System.Data.OleDb.OleDbType.VarChar);

        mycom.Parameters["@id"].Value = id;
        mycom.Parameters["@mingcheng"].Value = mingcheng;
        mycom.Parameters["@dianhua"].Value = dizhi;
        mycom.Parameters["@dizhi"].Value = dizhi;


        mycom.Parameters["@youbian"].Value = youbian;

        mycon.Open();
        mycom.ExecuteNonQuery();
        mycon.Close();
        GV_kh.EditIndex = -1;
        Bind();

Bind()里面已经定义了主键
这样还是不能把数据写入到数据库中。。。请高手指点
#4
yyldir2008-03-10 12:26
更新修改数据时也没出现错误信息,但是数据写不了数据库
1