暮光女克里斯汀短发:.net(C#)一段写入数据库的程序,帮我改一下

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 20:07:52
protected void Button4_Click(object sender, EventArgs e)
{
string ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + HttpContext.Current.Server.MapPath("datalt.mdb");
string strsql = "select count(*) from userdata where UserID like '" + TextBox1.Text + "'";
OleDbConnection Conn = new OleDbConnection(ConnStr);
OleDbCommand mycommand = new OleDbCommand(strsql, Conn);
Conn.Open();
int flag = (int)mycommand.ExecuteScalar();
Conn.Close();
if (flag == 0)
{
DateTime CreateTime = DateTime.Now;
string strCreateTime = CreateTime.ToString("yyyy-MM-dd hh:mm:ss");
string selectstr = "insert into userdata(UserID,Password,Age,Mail) values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";
OleDbCommand addcommand = new OleDbCommand(selectstr, Conn);
Conn.Open();
addcommand.ExecuteNonQuery();
Conn.Close();
Response.Redirect("chenggong.aspx");
}
}
调试说是insert into 语法错误,但是相同的insert into 语句在另一段程序里就是可以运行的!我弄了一天也能不出来!
加上'" + TextBox4.Text + "'还是不行,还是说insert into 语句错误。

"insert into userdata(UserID,Password,Age,Mail) values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";

输入的值不匹配,UserID,Password,Age,Mail有四个,后面只有三个。

你能不能把更具体的出错信息发上来看看,因为从目前看不出有什么错误。insert into出错有可能是数据格式不匹配,strCreateTime好象没有用到,你在检查下!

那你单步执行到那个地方看看" insert into ...."是什么样的,然后把他写下来,直接到数据库中去执行,看看是不是SQL语句的问题.因为它报的是语法错误,可能你写的是SQL语句的标准写法,但可能跟你用的数据库的要求写法是不一致的。