連接access數據庫插入一條語句時出現"準則運算式的資料類型不符合。"

xyken 2008-04-18 07:01:27
我在連接access數據庫插入一條語句時出現"準則運算式的資料類型不符合。"
語句如下:
string myconning = "provider=microsoft.jet.oledb.4.0;data source=F://djp/rh/gs_attn.mdb;Jet OLEDB:Database Password=28jbc00";
//string myconning = "provider=microsoft.jet.oledb.4.0;data source=//rh/JBC2360/gs_attn.mdb;Jet OLEDB:Database Password=28jbc00";
OleDbConnection myconn = new OleDbConnection(myconning);
string sqladd = "insert into clock_card (card_id,card_date,card_time,card_clock,collect_date,card_flag) ";
//測試點:已通過;
//sqladd += "values ('000010','2008-04-18','12:01','001','2008-04-19 上午 08:24','N')";
sqladd += "values ('" + (this.txbid.Text.Trim()) + "','" + (this.txbdate.Text.Trim ()) + "',";
sqladd += "'" + (this.txbtime.Text.Trim()) + "','001','2008-04-19 上午 08:24','N')";
//'#" + (this.txbcollect.Text.Trim()) + "#'
OleDbDataAdapter oleda_add = new OleDbDataAdapter(sqladd, myconn);

DataSet mydata_add = new DataSet();
oleda_add.Fill(mydata_add);
其中資料表字段是短日期格式,字段是通用日期格式,執行上述插入窗体文本框的值時總是出現"準則運算式的資料類型不符合。"發現是sqladd += "values ('" + (this.txbid.Text.Trim()) + "',...的語句在格式轉換上有問題,但不知如何處理,請教各位高手了
...全文
1819 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyken 2008-04-19
  • 打赏
  • 举报
回复
的的確確的上述代碼
sqladd += "values ('000010','2008-04-18','12:01','001','2008-04-19 上午 08:24','N')";
執行插入語句是成功插入到access中的,'2008-04-19 上午 08:24'此格式字段collect_date在access中
的設置是'通用日期格式'是會有"上午”的内容的.
現在的問題是將上述換成'" + this.txbdate.Text.Trim () + "'則"準則運算式的資料類型不符合。"
yourname386 2008-04-19
  • 打赏
  • 举报
回复
是日期格式的问题,数据库中的日期格式中会有“上午”的内容吗?

sqladd += "values ('000010','2008-04-18','12:01','001','2008-04-19 08:24','N')";
xyken 2008-04-19
  • 打赏
  • 举报
回复
樓上仁兄我試過了,我的語句正是
sqladd += "values ('" + this.txbid.Text.Trim() + "','" + this.txbdate.Text.Trim () + "',";
sqladd += "'" + this.txbtime.Text.Trim() + "','001','2008-04-19 上午 08:24','N')";
但是在插入時總報錯,提示"準則運算式的資料類型不符合。"

我想應該是窗体txbdate.Text的值与access數據庫中的短日期格式不符,因為我將語句改成:
sqladd += "values ('000010','2008-04-18','12:01','001','2008-04-19 上午 08:24','N')";
後執行插入語句則成功,但不知如何從窗体txbdate.Text取值存入access數據庫中的短日期格式
cnfixit 2008-04-18
  • 打赏
  • 举报
回复

sqladd += "values ('" + this.txbid.Text.Trim() + "','" + this.txbdate.Text.Trim () + "',";
sqladd += "'" + this.txbtime.Text.Trim() + "','001','2008-04-19 上午 08:24','N')";

试下看
同时确保对应的字段是“文本”类型

110,580

社区成员

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

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

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