请教:错在哪里了???
string datenow = System.DateTime.Now.ToString ();
string mchead_pic= "1 ";
try
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Server.MapPath(@ "#ncbbs.mdb ");
conn.Open();
string cmdstr = "INSERT INTO users(username,nick_name,password,mailbox,sex,tel,address,qq,head_pic,sign_word,reg_time) VALUES ( ' ";//添加插入语句
cmdstr = cmdstr + txtName.Text + " ', ' " + txtNickname.Text + " ', ' " + txtpassword1.Text + " ', ' " + txtmailbox.Text + " ', ' " + cbx.Text + " ', ' " + txtTel.Text + " ', ' ";
cmdstr = cmdstr + txtAdd.Text + " ', ' " + txtQQ.Text + " ', ' " + mchead_pic + " ', ' " + txtword.Text + " ', ' " + datenow + " ') ";
OleDbCommand com = new OleDbCommand();
com.CommandText = cmdstr;
com.CommandType = CommandType.Text;
com.CommandTimeout = 60;
com.Connection = conn;
com.ExecuteNonQuery();
conn.Close();
Response.Redirect( "Default.aspx ");
}
catch (Exception err)
{
txtword.Text = err.ToString();
}
老是提示 INSERT INTO 语句的语法错误。
[解决办法]
插入的值和列数不一致
少了sex的值
[解决办法]
列数为11
而插入的值只有10个
搂主好好的检查下
[解决办法]
values和前边的)分开了吧,另:报什么具体错误
[解决办法]
sex的值是有的,希望LZ贴出具体错误
[解决办法]
datenow 是什么?
你把生成后的SQL文在数据库里执行,看看具体是娜错了,检查数据类型是否匹配
[解决办法]
看错了;
抱歉。。。
[解决办法]
没看出来.难道表的列名必须特殊表示如username换成[username]?
[解决办法]
检查下数据类型是否一致的?
建议使用下面方式
string cmdstr = String.Format( "INSERT INTO users(username,nick_name,password,mailbox,sex,tel,address,qq,head_pic,sign_word,reg_time) VALUES ( '{0} ', '{1} ', '{2} ', '{3} ', '{4} ', '{5} ', '{6} ', '{7} ', '{8} ', '{9} ', '{10} ', '{11} ') ",
txtName.Text ,txtNickname.Text ,txtpassword1.Text,txtmailbox.Text ,cbx.Text,txtTel.Text,txtAdd.Text,txtQQ.Text,mchead_pic,txtword.Text,datenow);
[解决办法]
请不要用字符串拼接的方式,用参数解决更合适一些
[解决办法]
我稍微做了下实验,没发现有什么问题.难道是你表的主键有冲突