感谢(3tzjq(决定放弃VB.Net,重新学习C#))为我解决了问题!我给你80分了!新问题(高手请进)

时间:2022-08-12 14:01:06
还有20分奖给一笑天,因为他发现了我的输入错误,我源代码写的时候,没错,找到BBS上找错了!
现在调试通过了,但是有个新问题!

   操作必须使用一个可更新的查询。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。

源错误: 


行 212: myCon.Open();
行 213: OleDbCommand myCmd = new OleDbCommand(strSQL,myCon);
行 214: myCmd.ExecuteNonQuery();
行 215: myCmd.Dispose();
行 216: myCon.Close();
 

源文件: c:\inetpub\wwwroot\ezjust\operation.cs    行: 214 
请问是昨么回事!

正在做一个项目,用ASP.NET + C# +ACCESS2000
  碰到如下一个问题,提出来,请高手指教!
  数据层的结构为:
  ACCESS2000数据为库的结构为
  BoardID 自动编号 长整型
  Caption 文本  60字节
  Content 备注
  Name 文本 
  Time 日期时间 Date()///默认时间表上自动自动加入相当SQL的getdate()
  Image 文本 10字节 /// 图片的文件名称 
  中间的业务逻辑层为:(只写片段)
  
  /// <summary>
  /// 创建留言
 /// </summary>
 /// <param name="strCaption">主题</param>
 /// <param name="strContent">内容</param>
 /// <param name="strName">姓名</param>
 /// <param name="strImage"> 头像</param>
 /// <returns></returns>
 public void CreateBoard(string strCaption, string strContent, string strName, string strImage)
{
   string strSQL="INSERT INTO Board([Caption],[Content],[Name],[Image]) VALUES('" + strCaption + "','" + strContent + "','" + strName + "','" + strImage +"')";

OleDbConnection myCon = new OleDbConnection(ConfigurationSettings.AppSettings["strCon"]);

myCon.Open();
OleDbCommand myCmd = new OleDbCommand(strSQL,myCon);
myCmd.ExecuteNonQuery();
myCmd.Dispose();
myCon.Close();
}

   表现层后置CS文件是这样子的!

   private void cmdOK_Click(object sender, System.EventArgs e)
  {

     EZJust.Operation operation = new EZJust.Operation();
    operation.CreateBoard
(
  "谁能帮我解决问题",
  "不知是不是我的程序出了问题,还是ACCESS的权限问题,查询都是好好的,插入不行",
  "赵一笑",
  "11"
);
   }


8 个解决方案

#1


up

#2


应该是sql语句的问题
检查下你的语句

#3


谢谢!
是不是你的Content 字段长度不够?
还有Image字段是不是图片?是的话就不对了!

#4


mark

#5


Image 是文本,用来放数字的!我是这样子设计的!下面是我的源代码!
    public string FormatImg(object iFace)
    {
        return "\\EZJust" + "\\face\\" + iFace.ToString() + ".gif";
     }

    <asp:image id="Image99" runat="server" height="65px" width="65px" imagealign="Middle" ImageUrl='<%#FormatImg(DataBinder.Eval(Container,"DataItem.Image"))%>'>
   </asp:image>
    我是这样子捆的
    Content 用的是备注!
   private void cmdOK_Click(object sender, System.EventArgs e)
  {

     EZJust.Operation operation = new EZJust.Operation();
    operation.CreateBoard
(
  "谁能帮我解决问题",
  "不知是不是我的程序出了问题,还是ACCESS的权限问题,查询都是好好的,插入不行",
  "赵一笑",
  "11"
);
   }
    就这么几个字,放的下吧!
   
   

#6


string strSQL="INSERT INTO [Board](Caption,Content,Name,image) VALUES('" + strCaption + "','" + strContent + "','" + strName + "','" + strImage +"')";

#7


UP

#8


大家好,问题解决了,因为在本机电脑上,我有写入权限的问题!在服务器上,我就通过了!
这问题没人答的上,我就把分给帮我顶的主这们(nga96(因为笨,所以努和,陈勇华)

郊果请大家看一下:www.silisoft.cn/board.aspx

同时欢迎大家来,帮我测试!@

#1


up

#2


应该是sql语句的问题
检查下你的语句

#3


谢谢!
是不是你的Content 字段长度不够?
还有Image字段是不是图片?是的话就不对了!

#4


mark

#5


Image 是文本,用来放数字的!我是这样子设计的!下面是我的源代码!
    public string FormatImg(object iFace)
    {
        return "\\EZJust" + "\\face\\" + iFace.ToString() + ".gif";
     }

    <asp:image id="Image99" runat="server" height="65px" width="65px" imagealign="Middle" ImageUrl='<%#FormatImg(DataBinder.Eval(Container,"DataItem.Image"))%>'>
   </asp:image>
    我是这样子捆的
    Content 用的是备注!
   private void cmdOK_Click(object sender, System.EventArgs e)
  {

     EZJust.Operation operation = new EZJust.Operation();
    operation.CreateBoard
(
  "谁能帮我解决问题",
  "不知是不是我的程序出了问题,还是ACCESS的权限问题,查询都是好好的,插入不行",
  "赵一笑",
  "11"
);
   }
    就这么几个字,放的下吧!
   
   

#6


string strSQL="INSERT INTO [Board](Caption,Content,Name,image) VALUES('" + strCaption + "','" + strContent + "','" + strName + "','" + strImage +"')";

#7


UP

#8


大家好,问题解决了,因为在本机电脑上,我有写入权限的问题!在服务器上,我就通过了!
这问题没人答的上,我就把分给帮我顶的主这们(nga96(因为笨,所以努和,陈勇华)

郊果请大家看一下:www.silisoft.cn/board.aspx

同时欢迎大家来,帮我测试!@