| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1612 人关注过本帖
标题:[求助]C# command对象
只看楼主 加入收藏
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
结帖率:100%
收藏
 问题点数:0 回复次数:19 
[求助]C# command对象

我是一个新手,请教你们一个问题
我在page_load里写了一段代码:
OleDbConnection conn=DB.createConnection();
conn.Open();//数据库连接没有问题。
string str="insert into UserType values('4','555')";
OleDbCommand cmd=new OleDbCommand(str,conn);
cmd.ExecuteNonQuery();
conn.Close();

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

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

源错误:


行 93: string str="insert into UserType values('4','555')";
行 94: OleDbCommand cmd=new OleDbCommand(str,conn);
行 95: cmd.ExecuteNonQuery();//错误
行 96: conn.Close();
行 97:

各位高手给我指点一下

搜索更多相关主题的帖子: command 对象 
2007-01-10 11:17
accpfriend
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:167
专家分:102
注 册:2006-12-31
收藏
得分:0 
SQL语句有问题,你看下你的数据库字段
2007-01-10 11:25
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 
[讨论] command对象
sql语句没有问题的,我在数据库里面试过了,我的表里就2个字段,而且都是文本型的。

雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-01-10 11:37
lican
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-12-31
收藏
得分:0 
你看看这句有没有错OleDbConnection conn=DB.createConnection();
你想别人帮你,你就提供详尽一些的代码!


2007-01-10 12:08
YSKING
Rank: 5Rank: 5
来 自:中国绿城
等 级:贵宾
威 望:16
帖 子:1380
专家分:25
注 册:2006-11-11
收藏
得分:0 
string str="insert into UserType values('4','555')";
你插入数据的位置还有对应值类型各方面都正确了吗

仍然自由自我,永远高唱我歌,走遍千里...
2007-01-10 12:30
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
连接可以发上来看看啊

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-01-10 12:40
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 
[讨论] command对象

public static OleDbConnection createConnection()
{
string dbname=System.Web.HttpContext.Current.Server.MapPath("database\\huayu.mdb");
// string strcon="PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA Source=C:\\database\\huayu.mdb";
string strcon="PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA Source="+dbname;
OleDbConnection conn = new OleDbConnection(strcon);
return conn;

}
只是连接类,应该没有问题,我昨天就用这个类连接的数据库。


雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-01-10 13:05
YSKING
Rank: 5Rank: 5
来 自:中国绿城
等 级:贵宾
威 望:16
帖 子:1380
专家分:25
注 册:2006-11-11
收藏
得分:0 
你把你的string str="insert into UserType values('4','555')";
写成string str = "insert into UserType (?,?) values(..)"这样的格式试试

仍然自由自我,永远高唱我歌,走遍千里...
2007-01-10 13:14
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 
[讨论] command对象

好像还是不行啊


雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-01-10 13:29
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 
[讨论] command对象

string str1 ="delete from UserType where UserTypeID='4'";
string str ="select * from UserType";
OleDbCommand cmd=new OleDbCommand(str,conn);
OleDbCommand cmd2=new OleDbCommand(str1,conn);
cmd.ExecuteNonQuery();//执行成功
cmd2.ExecuteNonQuery();//执行错误,但是sql语句在数据库中能执行。
conn.Close();
原因何在呀?请指点一下
错误信息:
无法从指定的数据表中删除。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 无法从指定的数据表中删除。

源错误:


行 94: OleDbCommand cmd2=new OleDbCommand(str1,conn);
行 95: cmd.ExecuteNonQuery();
行 96: cmd2.ExecuteNonQuery();
行 97: conn.Close();
行 98:

源文件: c:\inetpub\wwwroot\mytext1\usertype.aspx.cs 行: 96

堆栈跟踪:


[OleDbException (0x80004005): 无法从指定的数据表中删除。]



雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-01-10 13:54
快速回复:[求助]C# command对象
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025434 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved