为什么c#Winform插入语句无法执行?

zmm028 2005-05-13 11:35:20
winform中
一句最简单的sql inser into
执行时总是报错
未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。

请问错在哪儿呢?
string sqlstr="insert into [CustomSickness] ([CustomID]) values ('sf')";
OleDbCommand myCOM;
OleDbConnection myCONN = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\\Data\\dahui.mdb;");
myCOM = new OleDbCommand(sqlstr,myCONN);
myCONN.Open();
myCOM.ExecuteNonQuery();
myCONN.Close();

执行到myCOM.ExecuteNonQuery();时报错如上
确定的是 数据库肯定能正常连接
sql语句直接拷在access数据库里也能正常执行

请问 到底错在哪儿呢
...全文
168 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
n007 2005-05-14
  • 打赏
  • 举报
回复
Access数据库建议用odbc连,我用oledb也出错
njuhuangmy 2005-05-14
  • 打赏
  • 举报
回复
估计是 字符串操作的问题.

举个例子, 文件名 D:\testfile.txt

在 c# 里, 直接 对这个字符串操作, 会出错的.

可以用两种方法实现正确识别,
1, @"D:\testfile.txt"
2, "D:\\testfile.txt"

Good luck
huangjinbo2008 2005-05-14
  • 打赏
  • 举报
回复
学习
3tzjq 2005-05-14
  • 打赏
  • 举报
回复
string sqlstr="insert into [CustomSickness]([CustomID]) values('sf')";//注意空格“ ”
WTaoboy 2005-05-14
  • 打赏
  • 举报
回复
1, 如果你是这种 String sf="aaa"
string sqlstr="insert into [CustomSickness] ([CustomID]) values ('" + sf + "')";
2, int sf= 0
string sqlstr="insert into [CustomSickness] ([CustomID]) values (" + sf + ")";
新鲜鱼排 2005-05-14
  • 打赏
  • 举报
回复
string sqlstr="insert into [CustomSickness] ([CustomID]) values ('sf')";

sf是一个参数么??还是要插入的CustomID的值。
如果是参数([CustomID]) values ("+sf+")";
如果是值CustomID文本型就没有问题呀

这样的命令没有写过,不知道是不是[CustomSickness]和[CustomID]这样的写法有问题
zmm024 2005-05-14
  • 打赏
  • 举报
回复
因为我写的带有变量的sqlstr运行出错
我才用这个没有变量的简单的sqlstr试验呀
结果还是出错
CustomID是文本型的
到底怎么回事儿呢???
syfsz 2005-05-14
  • 打赏
  • 举报
回复
表里就一个字段?

如果你的CustomID 是数值型的,你插入的内容应该不加 “'”号
koenemy 2005-05-13
  • 打赏
  • 举报
回复
字符串
koenemy 2005-05-13
  • 打赏
  • 举报
回复
string sqlstr="insert into [CustomSickness] ([CustomID]) values ("+sf+")";

sf要是数字不是串,是串的话('"+sf+"')";

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧