增加数据,简单,但找不到原因!求救!ASP.NET+ACCESS

god_is_pig 2010-09-01 10:13:50
问题1
核对了表结构,没错。
在ACCESS.exe中执行下面的SQL语句没错。参数个数没错
但在网站程序中却报错,找不到原因.

public static ZaiXian AddUser(ZaiXian zai)
{
ZaiXian xian = null;
OleDbConnection conn = DBHelper.conn();
string sql = "insert into ZaiXian(ZhuT, Massages, Names,LTime,Phones,Emails) values(@ZhuT, @Massages, @Names,@LTime,@Phons,@Emails)";
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.Parameters.AddWithValue("@ZhuT", zai.ZhuT);
cmd.Parameters.AddWithValue("@Massages", zai.Massages);
cmd.Parameters.AddWithValue("@Names", zai.Names);
cmd.Parameters.AddWithValue("@LTime", zai.LTime);
cmd.Parameters.AddWithValue("@Phons", zai.Phons);
cmd.Parameters.AddWithValue("@Emails", zai.Emails);
conn.Open();
cmd.ExecuteScalar();
conn.Close();
return xian;
}


我对比了其他类的SQL语句,接下来这个是没有错的。
string sql = "insert into YanShiInfos(InfosBti, InfosNr, InfosTime) values(@InfosBti, @InfosNr, @InfosTime)";
---------------------------------------------
问题2:
服务器错误:在 SQL 语句结尾之后找到字符

搞死人了,用SQL根本没这些问题,下午就要给客户了
...全文
176 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hu_86727515 2010-09-01
  • 打赏
  • 举报
回复
你的表里是不是只有这6个字段,类型是否相符
wosizy 2010-09-01
  • 打赏
  • 举报
回复
ACCESS不支持多语句..
也就是一次只能执行一个SQL语句...
a800633 2010-09-01
  • 打赏
  • 举报
回复
看起来没啥问题吧,可能是里面用到关键字了吧,你先不用参数,用具体值往表里添加数据看下有没有问题再作调试
NqIceCoffee 2010-09-01
  • 打赏
  • 举报
回复
还有,Access的占位符貌似是?不是@

而且顺序的匹配的,如果顺序不对,也有问题
NqIceCoffee 2010-09-01
  • 打赏
  • 举报
回复
cmd.ExecuteScalar();

=》

cmd.ExecuteNonQuery();
myhope88 2010-09-01
  • 打赏
  • 举报
回复
看起来没啥问题吧,可能是里面用到关键字了吧,你先不用参数,用具体值往表里添加数据看下有没有问题再作调试
离洛 2010-09-01
  • 打赏
  • 举报
回复
看不出来;既然赶时间,你可以换一种写法;
mark620 2010-09-01
  • 打赏
  • 举报
回复
断点调试下就清楚了。
leyt 2010-09-01
  • 打赏
  • 举报
回复
看不出来
shua0376 2010-09-01
  • 打赏
  • 举报
回复
我也看不出来

不然改成这种格式试下


OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbParameter[] parm = new OleDbParameter[1];//这里记得多少个参数就写几
parm[0] = new OleDbParameter("ZhuT", OleDbType.VarChar);
parm[0].Value = zai.ZhuT;

不知道类型会不会错了,或者用到了关键字
porschev 2010-09-01
  • 打赏
  • 举报
回复
帮顶一下。。。。。看不出来。。
孟子E章 2010-09-01
  • 打赏
  • 举报
回复
zai对象每个属性都有值吗?
关于日期值的问题,可以参考这个
http://dotnet.aspx.cc/article/27c0d578-e4df-44dc-91a7-54ba10a53d1f/read.aspx
wwfgu00ing 2010-09-01
  • 打赏
  • 举报
回复
断点调试下
tolearner 2010-09-01
  • 打赏
  • 举报
回复
对不起,还有几了字段我没看到。帮顶一下。
tolearner 2010-09-01
  • 打赏
  • 举报
回复
问题多半出现在这个"InfosTime"字段上,你好好看。
sweetqueen1 2010-09-01
  • 打赏
  • 举报
回复
现在才看到,抱歉、、、呵呵
你的ZaiXian表里面是不是只有那6个字段?
如果不是的话,要补全,没有值的就用null
winner2050 2010-09-01
  • 打赏
  • 举报
回复
那个日期字段出错,愿意是日期格式问题。

Access 非常麻烦。

保存日期要用OleDbType.DBTimeStamp,而且要.ToString("yyyy-MM-dd HH:mm:ss")传递字符串进去。
wuyq11 2010-09-01
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery();
一次只能执行一条SQL。
多条SQL需要多次执行
foreach(string s in lst)
{
if (s.Trim().Length > 1)
{
cmd.CommandText = s;
cmd.ExecuteNonQuery();
}
}
cmd.Transaction.Commit();
sdo23 2010-09-01
  • 打赏
  • 举报
回复
问题1:你的表字段有关键字。每个字段加个L试试。
问题2:ACCESS只能一次执行一个SQL语句

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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