首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问:错在哪里了?

2011-12-26 
请教:错在哪里了???stringdatenowSystem.DateTime.Now.ToString()stringmchead_pic 1 try{OleDbConn

请教:错在哪里了???

                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);

[解决办法]
请不要用字符串拼接的方式,用参数解决更合适一些
[解决办法]
我稍微做了下实验,没发现有什么问题.难道是你表的主键有冲突

热点排行