Insert语句

本文详细介绍了如何解决在使用ADO.NET访问OLE DB时遇到的语法错误问题,特别是针对查询表达式中出现的错误。通过调整参数和改进查询语句格式,可以有效避免和解决该类错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问:

问题是::未处理System.Data.OleDb.OleDbException   HResult=-2147217900   Message=语法错误 (操作符丢失) 在查询表达式 '2014/12/1 0:00:00' 中。

public void add(string addselect)
        {
            oledbconn = dataconn.getcon();
            oledbconn.Open();
            OleDbCommand cmd = new OleDbCommand(addselect, oledbconn);
          int x = (int)cmd.ExecuteNonQuery();
            if (x > 0)
            {
                MessageBox.Show("添加信息成功!");
            }
            oledbconn.Close();

       
        }



private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "" || textBox2.Text == "")
                MessageBox.Show("登记编号或姓名不能为空!");
            else
            {
                string st1 = dateTimePicker1.Value.Date.ToString();
                string inSQL = String.Format("insert into dingfang(登记编号,姓名,性别,身份证号,联系方式,房间类型,房间号,入住天数,登记日期) values({0},{1},{2},{3},{4},{5},{6},{7},{8})", textBox1.Text, textBox2.Text, comboBox3.Text, textBox3.Text, textBox4.Text, comboBox1.Text, comboBox2.Text, textBox5.Text, st1);
                
                dataoperate.add(inSQL);
                dataoperate.SaveImage(textBox1.Text.Trim(), openFileDialog1);
            }
        }

答:

string inSQL = String.Format("insert into dingfang(登记编号,姓名,性别,身份证号,联系方式,房间类型,房间号,入住天数,登记日期) values({0},{1},{2},{3},{4},{5},{6},{7},{8})", textBox1.Text, textBox2.Text, comboBox3.Text, textBox3.Text, textBox4.Text, comboBox1.Text, comboBox2.Text, textBox5.Text, st1);


大家特别注意对字符串的''号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值