protected void Button1_Click(object sender, EventArgs e)
{
WebModel.UserInfo model = new WebModel.UserInfo();
model.UserId = TextBoxUserId.Text;
model.UserName = TextBoxUserName.Text;
model.Password = TextBoxPassword.Text; if (dal.Add(model) == 0)
{
MessageBox.ResponseScript(this.Page, "alert('添加成功');");
Response.Redirect("UserInfo.aspx");
}
else
{
MessageBox.ResponseScript(this.Page, "alert('添加失败');");
}
}model.UserId = TextBoxUserId.Text;数据库这3个字段都是varchar类型,UserID原来是int类型,现在我改成了varchar类型。三层模式写的
{
WebModel.UserInfo model = new WebModel.UserInfo();
model.UserId = TextBoxUserId.Text;
model.UserName = TextBoxUserName.Text;
model.Password = TextBoxPassword.Text; if (dal.Add(model) == 0)
{
MessageBox.ResponseScript(this.Page, "alert('添加成功');");
Response.Redirect("UserInfo.aspx");
}
else
{
MessageBox.ResponseScript(this.Page, "alert('添加失败');");
}
}model.UserId = TextBoxUserId.Text;数据库这3个字段都是varchar类型,UserID原来是int类型,现在我改成了varchar类型。三层模式写的
model.UserId = Convert.ToInt32(TextBoxUserId.Text);
估计你只改了model层的类型
model.UserId = int.TryParse(TextBoxUserId.Text,out a);
都没认真看嘛,原来才是int,现在改成了varchar。我也估计是这个问题,我把model清理,重新生成了,还是不行,每次弄这个最麻烦了。再不行的话,干脆重写好了。
int.TryParse(string,out int result);
连数据库你都经常改动,整个程序的改动自然会比较大先把数据库设计好,这个是必须的
或者
model.UserId=Convert.ToInt32(TextBoxUserId.Text);
protected void Button1_Click(object sender, EventArgs e)
{
WebModel.UserInfo model = new WebModel.UserInfo();
model.UserId = Convert.ToInt32(TextBoxUserId.Text);
model.UserName = TextBoxUserName.Text;
model.Password = TextBoxPassword.Text; if (dal.Add(model) != 0)
{
MessageBox.ResponseScript(this.Page, "alert('添加成功');");
Response.Redirect("UserInfo.aspx");
}
else
{
MessageBox.ResponseScript(this.Page, "alert('添加失败');");
}
}
现在运行到这里if (dal.Add(model) != 0)会出现'UserId'列名无效。
'UserName'列名无效。
'Password'列名无效。
数据库里字段都是这3个啊,数据库连接也对。
大家都没BS的仪表盘类控件,例如天气预报里,气温,风向类的,免费无水印的最好,收费的要1500美金,太贵了。