读书人

C# 安插数据

发布时间: 2013-03-19 17:22:05 作者: rapoo

C# 插入数据
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string username = Request["username"];
string userpwd = Request["userpwd"];
string drop = this.level.Text.ToString();
string post = position.SelectedValue.ToString();
string depa = deparment.SelectedValue.ToString();
string usernumber = this.bianhao.Text;
string realname = this.realname.Text;
string xueli = this.xueli.SelectedValue.ToString();
string zhichen = this.zhicheng.SelectedValue.ToString();
string zhuangkuang = this.state.SelectedValue.ToString();
string byxuexiao = this.byshool.SelectedValue.ToString();
string XingBie = this.Sex.Text;//性别
string MingZu = this.MZ.Text;//名族
DateTime AddTime = DateTime.Now;
StockClass sc = new StockClass();
if (sc.validate(username))
{
Response.Write("<script>alert('用户名中不能含有非法字符');history.back()</script>");
return;
}
if (sc.validate(userpwd))
{
Response.Write("<script>alert('密码中不能含有非法字符');history.back()</script>");
return;
}
SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
strcon.Open();
SqlCommand scd = new SqlCommand("select * from rs_User where username='" + username + "'", strcon);
int count = Convert.ToInt32(scd.ExecuteScalar());
if (count > 0)


{
Response.Write("<script>alert('用户已经存在,请重新输入!');history.back()</script>");

return;
}
try
{
scd.CommandText = "insert into rs_User (username,userpwd,bianhao,realname,addtime,level,position,xl,zc,state,byshool,sex,qationality,depa_name)values(@username,@userpwd,@bianhao,@realname,@addtime,@level,@position,@xueli,@zhicheng,@zhuangkuang,@biyexuexiao,@sex,@qationality,@depa_name)";

SqlParameter para = new SqlParameter("@username", SqlDbType.VarChar, 50);
para.Value = username;
scd.Parameters.Add(para);
para = new SqlParameter("@realname", SqlDbType.VarChar, 50);
para.Value = realname;
scd.Parameters.Add(para);
para = new SqlParameter("@userpwd", SqlDbType.VarChar, 50);
para.Value = userpwd;
scd.Parameters.Add(para);
para = new SqlParameter("@bianhao", SqlDbType.VarChar, 50);
para.Value = usernumber;
scd.Parameters.Add(para);
para = new SqlParameter("@AddTime", SqlDbType.DateTime);
para.Value = AddTime;
scd.Parameters.Add(para);
para = new SqlParameter("@level", SqlDbType.VarChar, 50);
para.Value = drop;
scd.Parameters.Add(para);
para = new SqlParameter("@position", SqlDbType.VarChar, 20);
para.Value = post;
scd.Parameters.Add(para);


para = new SqlParameter("@sex", SqlDbType.Char, 10);//性别
para.Value = XingBie;
scd.Parameters.Add(para);
para = new SqlParameter("@qationality", SqlDbType.VarChar, 50);//名族
para.Value = MingZu;
scd.Parameters.Add(para);
para = new SqlParameter("@xueli", SqlDbType.VarChar, 50);//学历
para.Value = xueli;
scd.Parameters.Add(para);
para = new SqlParameter("@zhicheng", SqlDbType.VarChar, 50);//学历
para.Value = zhichen;
scd.Parameters.Add(para);
para = new SqlParameter("@zhuangkuang", SqlDbType.VarChar, 50);//学历
para.Value = zhuangkuang;
scd.Parameters.Add(para);
para = new SqlParameter("@biyexuexiao", SqlDbType.VarChar, 50);//学历
para.Value = byxuexiao;
scd.Parameters.Add(para);
para = new SqlParameter("@depa_name", SqlDbType.VarChar, 200);
para.Value = depa;
scd.Parameters.Add(para);
scd.ExecuteNonQuery();
Response.Write("<script>alert('用户添加成功');location='adduser.aspx'</script>");
Response.Redirect("user_login.aspx");
this.addsalary();
}
catch
{
Response.Write("<script>alert('操作失败');location='adduser.aspx'</script>");


}
strcon.Close();
}
//添加职工号、用户名、真实姓名、及极限到工资表中
public void addsalary()
{
string sqlinsert = "insert into rs_salary (bianhao,username,realname,level)values(@bianhao,@username,@realname,@level)";
string username = Request["username"];
string drop = this.level.Text.ToString();
string usernumber = this.bianhao.Text;
string realname = this.realname.Text;
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
con.Open();
SqlCommand scdd = new SqlCommand(sqlinsert, con);
SqlParameter paraa = new SqlParameter("@bianhao", SqlDbType.VarChar, 50);
paraa.Value = usernumber;
scdd.Parameters.Add(paraa);
paraa = new SqlParameter("@username", SqlDbType.VarChar, 50);
paraa.Value = username;
scdd.Parameters.Add(paraa);
paraa = new SqlParameter("@realname", SqlDbType.VarChar, 50);
paraa.Value = realname;
scdd.Parameters.Add(paraa);
paraa = new SqlParameter("@level", SqlDbType.VarChar, 50);
paraa.Value = drop;
scdd.Parameters.Add(paraa);
scdd.ExecuteNonQuery();
con.Close();

}



}



单击命令后为什么数据只插入到了rs_User 表中,但不能插入到rs_salary 表中,为什么啊?求解
[解决办法]
调式 一步一步 找问题
[解决办法]
好长,一步一步调试吧。
[解决办法]
初步看了一下,发现LZ一个错误。
根据你的addsalary方法中的SQL语句 string sqlinsert = "insert into rs_salary (bianhao,username,realname,level)values(@bianhao,@username,@realname,@level)";


猜测:rs_salary表中有个字段为realname,该字段可能会输入中文真实姓名,但是在下面的参数部分,paraa = new SqlParameter("@realname", SqlDbType.VarChar, 50);该字段类型为VarChar,该类型只接受单字节的字母,不接受中文字符。
[解决办法]
Response.Redirect("user_login.aspx");
this.addsalary();
这两句换个顺序试试。

[解决办法]
一步一步的找啊

读书人网 >asp.net

热点推荐