比较头疼的insert into 问题,帮忙啊
"INSERT INTO 语句的语法错误"
我用的是Access数据库,在提交的数据的时候出现了以下错误:
System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at Admin.Info.NewsAdd.BtnNewsAdd_Click(Object sender, EventArgs e) in e:\正在建设中网站\卫士蓝\www\admin\info\newsadd.aspx.cs:line 136
我把我的sql语句输出来后,直接在数据库里可以正常执行,而在程序里就不行。
希望知道这个或有这样经历的兄弟帮忙,先谢了。在线等待
问题点数:50、回复次数:15Top
1 楼WAWQ(两点水)回复于 2005-04-01 14:47:51 得分 2
把 SQL 语句拿出来看看 //Top
2 楼zr1982930(皮卡丘)回复于 2005-04-01 14:49:26 得分 2
贴出语句!Top
3 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2005-04-01 14:52:36 得分 2
把你出错的代码帖出来看看Top
4 楼honglin119(枫叶飘零)回复于 2005-04-01 14:53:01 得分 0
INSERT INTO Info (Title,Content,Source,PublishedDate,LanguageEdition,Commend,Newest,Image,Published,NewsSortName,NewsSortId) VALUES ('测试','test','test',#2005-4-1#,'0','no','yes','no','no','职位信息','1')Top
5 楼honglin119(枫叶飘零)回复于 2005-04-01 14:53:52 得分 0
补充:
”PublishedDate“为日期/时间格式的
Top
6 楼suncaser(网事如风)回复于 2005-04-01 14:58:32 得分 2
将数据库的everyone权限添上在瞧瞧!Top
7 楼zhanqiangz(闲云野鹤-Overriding)回复于 2005-04-01 14:58:52 得分 2
你把出错部分的代码贴出来阿!
搞个错误出来没法帮你阿!Top
8 楼zhanqiangz(闲云野鹤-Overriding)回复于 2005-04-01 15:01:40 得分 2
你把出错部分的代码贴出来阿!
搞个错误出来没法帮你阿!Top
9 楼zhanqiangz(闲云野鹤-Overriding)回复于 2005-04-01 15:04:40 得分 5
INSERT INTO Info (Title,Content,Source,PublishedDate,LanguageEdition,Commend,Newest,Image,Published,NewsSortName,NewsSortId) VALUES ('测试','test','test','2005-4-1','0','no','yes','no','no','职位信息','1')
试试这样!
Top
10 楼joseph0311(EohoSoft)回复于 2005-04-01 15:18:27 得分 2
可能是你的Access数据库所在目录的权限问题,是否允许写入数据。
确定权限没有问题就从单个字段开始逐次加入新字段来试,看是那个字段有问题。Top
11 楼hjh1982(能说不是错)回复于 2005-04-01 15:18:55 得分 5
有可能数据写入权限的问题,把你的数据库放到fat32分区试试!
比较笨的方法!Top
12 楼jonescheng(小块头无大智慧)回复于 2005-04-01 15:22:15 得分 26
也有可能阿,你直接用在ACCESS中看可不可以新增记录Top
13 楼honglin119(枫叶飘零)回复于 2005-04-01 15:22:42 得分 0
to:zhangqianz.
这样也不行啊Top
14 楼honglin119(枫叶飘零)回复于 2005-04-01 15:23:31 得分 0
to:jomescheng.
直接在access中可以的Top
15 楼honglin119(枫叶飘零)回复于 2005-04-01 15:24:33 得分 0
string StrComment="no",StrNewest="no",StrImage = "no",StrContent=" ";
if (ChkCommend.Checked) StrComment="yes";
if(ChkNewest.Checked) StrNewest="yes";
if (ChkImage.Checked) StrImage="yes";
if( p1.Visible == true)
StrContent = content.Text;
else
StrContent= htmlcode.htmlencode(TxtContent.Text);
try
{
Sql="INSERT INTO Info (Title,Content,Source,PublishedDate,LanguageEdition,Commend,Newest,Image,Published,NewsSortName,NewsSortId";
Sql+=") VALUES ('";
Sql+=TxtNewsTitle.Text.Trim()+"','"+StrContent+"','"+txtSource.Text.Trim()+"',#"+Convert.ToDateTime(txtPublishDate.Text).ToShortDateString()+"#,'"+DrpManner.SelectedValue.Trim();
Sql+="','"+ StrComment+"','"+StrNewest+"','" + StrImage + "','no','"+DrpNewsSort.SelectedItem.Text.Trim()+"','"+DrpNewsSort.SelectedValue.Trim()+"')";
Cmd.CommandText=Sql;
Cmd.ExecuteNonQuery();
Cmd.CommandText="SELECT * FROM Info WHERE Title='"+TxtNewsTitle.Text.Trim()+"'";
DR=Cmd.ExecuteReader();
if( DR.Read())
Response.Redirect("NewsAddSucceed.aspx?id="+DR["id"]);
}
catch (OleDbException ee)
{
Response.Write(Sql+"<hr color='red'>");
Response.Write(ee.ToString()+"<hr color='red'>");
}
这是在添加的时候的代码,有点乱,还望见凉Top




