C#里的cmd.Parameters.Add语句对Oracle没有作用啊

下面语句能正确执行sc.Open();OracleCommandcmd=newOracleCommand("insertintotb_friendvalues(:name... 下面语句能正确执行
sc.Open();
OracleCommand cmd = new OracleCommand(
"insert into tb_friend values(:name,:phone)", sc);
cmd.Parameters.Add("name", OracleType.VarChar).Value = it.Name;
cmd.Parameters.Add("phone", OracleType.VarChar).Value = it.phone;
int i= cmd.ExecuteNonQuery();
但下面的代码就无法正确执行
sc.Open();
OracleCommand cmd = new OracleCommand(
"update tb_friend set phone =:phone where name =:name", sc);
cmd.Parameters.Add("phone", OracleType.VarChar).Value = it.phone;
cmd.Parameters.Add("name", OracleType.VarChar).Value = it.Name;
int j = cmd.ExecuteNonQuery();

上面的程序段返回的i=1,而且程序运行效果也有了,这不就说明数据库的连接什么的对没问题了吗?但下面返回的j=0啊,程序运行没效果,到底为什么啊??也没报错,好像就是没有it.Name那行一样,可那行明明是存在的啊。
到底是哪里的问题啊????
调试两天了都,实在受不了了,能解决的再追加分 谢谢谢谢谢谢
展开
 我来答
阳光的雷咩咩
2014-11-30 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7668万
展开全部
开始我看到你那参数名用冒号还以为是oracle专用的语法,不过查了下msdn,发现还是@。要不你先换了试试
http://msdn.microsoft.com/zh-cn/library/system.data.oracleclient.oracleparameter(v=vs.80).aspx
更多追问追答
追问
Oracle是用 : 的,
http://msdn.microsoft.com/zh-cn/library/system.data.oracleclient.oraclecommand.parameters(v=vs.100).aspx
好像不是这个问题,而且第一个程序段已经运行成功了
追答

那么,你能否用

Debug.WriteLine(it.Name+"end");//加这句,看输出什么?数据库确实有?关键是空格?
int j = cmd.ExecuteNonQuery();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式