r.Id=int.Parse(tb.Text);
r.Id=Convert.ToInt32(tb.Text);我都试过,也不行的,生成不出错了,但是在浏览器里运行时出现“输入字符串的格式不正确”,咋回事呀?
我的数据表pass里面就三个字段,Id是int型,name是char,passd是int.
r.Id=Convert.ToInt32(tb.Text);我都试过,也不行的,生成不出错了,但是在浏览器里运行时出现“输入字符串的格式不正确”,咋回事呀?
我的数据表pass里面就三个字段,Id是int型,name是char,passd是int.
你所输入的字符串不能转化成int,你怎么转化阿。
建议你对TextBox tb=(TextBox)e.Item.Cells[1].Controls[0];
这个的文本值跟踪以下,看看是什么
int i = conver.toint32( string );
数据库表名是pass,
Id是char型,
name也是char型,
passwd是int型.
Id设为主键。但是又出问题了,点更新以后数据库没变化,我更新name字段,并用
了一个label显示更新结果,但是name并没有被更新,也不提示出错,
label显示的还是原来数据库的name值。下面是程序代码,我真是看不出来哪里出错了private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string key = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
this.Label1.Text=key;
TextBox tb=(TextBox)e.Item.Cells[1].Controls[0];
DataSet1.passRow r;
r=this.dataSet11.pass.FindById(key);
r.name=tb.Text;
this.Label1.Text=tb.Text;
this.sqlDataAdapter1.Update(this.dataSet11);
this.DataGrid1.EditItemIndex=-1;
this.DataGrid1.DataBind();
}
改成TextBox tb=(TextBox)e.Item.Cells[2].Controls[0];让读取第三行的值,
也就是数据库中的passwd,然后更新,居然把数据库中的passwd更新到了name
中,这不是说明程序没写错,但是为啥我修改的值程序却不能更新?
快救救我吧,快被被折磨死了!