求助,INSERT INTO 语句的语法错误

gxszkj 2005-11-09 11:52:11
我的cs文件:

using System;
using System.Data;
using System.Data.OleDb;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.IO;
namespace myweb
{
public class page:System.Web.UI.Page
{
public string strSql,strTable;
public DataSet ds;
public DataRow dr;
public OleDbCommand com;
public OleDbDataAdapter da;
protected OleDbCommandBuilder cb;
public int iCount;
//protected OleDbCommand cm;

public OleDbConnection conn=new OleDbConnection();
public void OpenDatabase()
{
//连接数据库
conn.Close();
conn.ConnectionString="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + Server.MapPath("data/user.mdb");
conn.Open();
}
//FillDs 是要返回 DS来读取数据,而有些指令是不需要返回数据的,比如说 DELETE 或 UPDATE,需要看一下数据就用第1个,不需要看就用第2个

// 新增一条记录
public void NewDrAuto()
{
OpenDatabase();
strSql = "select top 1 * from " + strTable;
FillDs();
dr = ds.Tables[strTable].NewRow();
}
public void FillDs()
{
da = new OleDbDataAdapter();
ds = new DataSet();
da.SelectCommand = new OleDbCommand(strSql,conn);
cb = new OleDbCommandBuilder(da);
iCount = da.Fill(ds,strTable);
if (iCount>0)
dr=ds.Tables[strTable].Rows[0];
}

// 将新记录添加到表
public void NewDrSave()
{
ds.Tables[strTable].Rows.Add(dr);
UpdateDs();
}
// 保存DS数据
public void UpdateDs()
{
da.Update(ds,strTable);
conn.Close();
}

public void RunSql(string strSql)
{
OpenDatabase();
com = new OleDbCommand(strSql,conn);
com.ExecuteNonQuery();
conn.Close();

}
public int GetCount()
{
OpenDatabase();
com = new OleDbCommand(strSql,conn);
return (int)com.ExecuteScalar();
conn.Close();
}

// 数值安全检测
public string RequestNum(string strRequest)
{
string strRe = "";
if(Request[strRequest]!=null)
{
strRe = Request[strRequest].ToString();
try{int.Parse(strRe);}catch{strRe="";}
}
return strRe;
}

// 字符安全检测
public string RequestStr(string strRequest)
{
string strRe = "";
if(Request[strRequest]!=null)
{
strRe = Request[strRequest].ToString();
strRe = strRe.Replace("'","’");
}
return strRe;
}

}
}

aspx页面代码:

strTable="videosell";
NewDrAuto();
dr["time"]=DateTime.Now.ToString();
dr["username"]=RequestStr("TextBox1");
NewDrSave();
Response.Redirect("Full_Client.aspx");




报错:

“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

INSERT INTO 语句的语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。

源错误:


行 56: public void UpdateDs()
行 57: {
行 58: da.Update(ds,strTable);//这里错
行 59: conn.Close();
行 60: }


求各位帮帮忙,谢谢!!
...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxufewbt 2005-11-09
  • 打赏
  • 举报
回复
断点调试跟踪一下,看看strSql里面的东西是什么,把它弄到查询分析器中运行一下,看看是什么错。
liym15 2005-11-09
  • 打赏
  • 举报
回复
把access表的安全设为完全控制。也要把文件夹共享
saucer 2005-11-09
  • 打赏
  • 举报
回复
你的表里都有些什么字段,对某些保留名,你需要用[],譬如[Password]
shaka282216034 2005-11-09
  • 打赏
  • 举报
回复
对SQL语句进行监视
得到SQL的值
复制到sqlserver查询分析器里面执行
看看错误是为什么
cansum396 2005-11-09
  • 打赏
  • 举报
回复
看看sql字符串是不是有问题
sunnystar365 2005-11-09
  • 打赏
  • 举报
回复
单步调试,然后选中strsql,按下Ctrl+alt+Q,查看生成好的语句,
然后复制到查询分析器里,去掉前后的引号,执行语句就知道错误在什么地方了

62,041

社区成员

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

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

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

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