C# 中显示 insert into 语句有误

[复制链接]
查看11 | 回复4 | 2011-1-12 10:39:48 | 显示全部楼层 |阅读模式
using System.Data.OleDb;也写了的
private void button1_Click(object sender, EventArgs e)

{

OleDbConnection sqlcon = new OleDbConnection("provider=Microsoft.Jet.Oledb.4.0;Data Source=db_RGS.mdb");

sqlcon.Open();

OleDbCommand ocmd = new OleDbCommand("insert into user(user_id,user_pwd,user_type) values ('" + textBox1.Text + "','" + textBox2.Text + "'," + textBox3.Text + ")", sqlcon);

ocmd.ExecuteNonQuery();

MessageBox.Show("添加 is susses");

}
麻烦各位大大帮我看下来那儿有错
数据库中表属性是文本、文本、数字、
表名字是user

字段是user_id
user_pwd
user_type
在C#中老显示insert into语句有错
然后
ocmd.ExecuteNonQuery();这句话被涂黄了的
OleDbConnection sqlcon = new OleDbConnection("provider=Microsoft.Jet.Oledb.4.0;Data Source=db_RGS.mdb");

sqlcon.Open();

OleDbCommand ni = new OleDbCommand("delete from userr where id=" + textBox1.Text, sqlcon);

ni.ExecuteNonQuery();

MessageBox.Show("删除 is susses");
如何把这句话改成文本啊OleDbCommand ni = new OleDbCommand("delete from userr where id=" + textBox1.Text, sqlcon);
现在的输入方法是数值.

回复

使用道具 举报

千问 | 2011-1-12 10:39:48 | 显示全部楼层
首先是表名,不可以用user,这是数据库关键字,然后要看你的表的结构,看user_id是否是主键并是否是自动增长列,再者就是你的这个写法是不正确的。我按照你的做法略改了一下你看看,sqlcon.Open();
string sql = "insert into user (user_id,user_pwd,user_type) values (@user_id,@user_pwd,@user_type)";
OleDbCommand ocmd = new OleDbCommand(sql);
ocmd.Parameters.Add("@user_id",this.text
回复

使用道具 举报

千问 | 2011-1-12 10:39:48 | 显示全部楼层
有可能textBox3.Text是非数字导致字段类型不匹配
回复

使用道具 举报

千问 | 2011-1-12 10:39:48 | 显示全部楼层
第三个参数是不是加上 数据类型转换
回复

使用道具 举报

千问 | 2011-1-12 10:39:48 | 显示全部楼层
尽量不要用user做表名,或者写成[user]试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行