返回信息流请教大牛同学。用C#语言访问Oracle数据库,怎样在CommandText语句里传递变量的值啊。
下面的语句中的pid是一个变量,我这样写程序报错。貌似是语句有问题。
OracleCommand cmd3 = conn_combobox.CreateCommand();
cmd3.CommandText = "select website_id,subsys_id from program_info where pid=" + pid ;
这是一条镜像帖。来源:北邮人论坛 / dot-net / #968同步于 2009/12/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
弱问---求大牛解答
diyutianshi1
2009/12/28镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
+"'"+pid+"'"
数据库都是这么传变量
【 在 diyutianshi1 (diyutianshi) 的大作中提到: 】
: 请教大牛同学。用C#语言访问Oracle数据库,怎样在CommandText语句里传递变量的值啊。
: 下面的语句中的pid是一个变量,我这样写程序报错。貌似是语句有问题。
: OracleCommand cmd3 = conn_combobox.CreateCommand();
: ...................
OracleCommand cmd3 = conn_combobox.CreateCommand();
cmd3.CommandText = "select website_id,subsys_id from program_info where pid=" + "'" + pid + "'";
OracleDataReader odr_curral3 = cmd3.ExecuteReader();
string website_id = odr_curral3.GetOracleString(0).ToString();
string subsys_id = odr_curral3.GetOracleString(1).ToString();
谢谢版主,不过我找你的方法改了以后,当数据执行到第四句的时候程序报错说“没有数据可用于行和列”,这是什么原因?
【 在 ahomer 的大作中提到: 】
: +"'"+pid+"'"
: 数据库都是这么传变量
数据库返回结果 有值吗?
没有值的话 不能直接 get。。吧
如果没有获取到值的时候要处理下,不能直接get
设置个断点看下
【 在 diyutianshi1 (diyutianshi) 的大作中提到: 】
: OracleCommand cmd3 = conn_combobox.CreateCommand();
: cmd3.CommandText = "select website_id,subsys_id from program_info where pid=" + "'" + pid + "'";
: OracleDataReader odr_curral3 = cmd3.ExecuteReader();
: ...................
1.建议使用sqlparameter/oracleparameter,应该尽量避免拼接sql
2.没看到conn.open(),也没看到reader.read()
去msdn上翻例子比在论坛上问要方便快捷的多,为什么舍近求远呢?
re.NET
【 在 nonsense (松香) 的大作中提到: 】
1.建议使用sqlparameter/oracleparameter,应该尽量避免拼接sql
2.没看到conn.open(),也没看到reader.read()
去msdn上翻例子比在论坛上问要方便快捷的多,为什么舍近求远呢?