日期时间
问题描述:
我使用视觉标准输入输出2008和SQL Server 2005日期时间
dim selectquery = "SELECT Purchase_master.Customer_name, Purchase_details.Item_code, Item_Master.Name,
Purchase_details.Quantity, Purchase_details.Cost, Purchase_master.Date
FROM Item_Master INNER JOIN (Purchase_master INNER JOIN Purchase_details ON
Purchase_master.Bill_id = Purchase_details.Bill_id) ON Item_Master.Item_code = Purchase_details.Item_code
WHERE Purchase_master.Date= " + cboPDate.SelectedValue.ToString()
当这selectquery执行它给了我 错误
“错误附近有语法12”
我cboPDate被一个组合框与我的数据库绑定返回的数据和时间 “2/18/2011 12:00:00 AM”
请帮我出
答
您需要在日期前后添加引号。
尝试
dim selectquery = "SELECT Purchase_master.Customer_name, Purchase_details.Item_code, Item_Master.Name,
Purchase_details.Quantity, Purchase_details.Cost, Purchase_master.Date
FROM Item_Master INNER JOIN (Purchase_master INNER JOIN Purchase_details ON
Purchase_master.Bill_id = Purchase_details.Bill_id) ON Item_Master.Item_code = Purchase_details.Item_code
WHERE Purchase_master.Date= '" + cboPDate.SelectedValue.ToString() +"'"
更重要的是,使用SQL parameters。
答
试试这个:
dim selectquery = string.Format("SELECT Purchase_master.Customer_name, Purchase_details.Item_code, Item_Master.Name,
Purchase_details.Quantity, Purchase_details.Cost, Purchase_master.Date
FROM Item_Master INNER JOIN (Purchase_master INNER JOIN Purchase_details ON
Purchase_master.Bill_id = Purchase_details.Bill_id) ON Item_Master.Item_code = Purchase_details.Item_code
WHERE Purchase_master.Date= '{0}'", cboPDate.SelectedValue.ToString());
你必须quots增加值。 :)
现在它显示此错误“语法不正确'2/18/2011 12:00:00 AM'。” – CHANDRAHAS 2011-02-18 13:57:06
这听起来很奇怪。如果你调试并复制selectquery的值,你会得到什么?在执行之前是否追加其他选择查询? – Kamal 2011-02-18 14:01:07