visual studio 2005怎么写带变量的sql语句

来源:百度知道 编辑:UC知道 时间:2024/05/31 03:52:14
我的程序用dataset跟oracle数据库相连。
用的是ms oracle connection不是odbc.

问题有两个:

1。我把dataset中的数据库表拖到窗体上的时候,自动生成了一个grid,一个navigator,bindingSource和tableAdapter. 其实我并不需要grid,我想取到数据进行一些运算而不是把数据显示出来。所以我可以把grid,navigator删掉么?

2。应该在什么地方写sql语句?
应该怎么写有变量的sql语句?
我试图在bindingSource里面写,但是oracle总是报错。我的sql语句如下:
select FBA, FBB,CTime
from TABLE1
where CTime between "@BeginTime" and "@EndTime"
Oracle给的错误是说@EndTime是无效的参数。如果我把@BeginTime和@EndTime换成具体的日期,BindingSource是可以给出结果的。
所以应该是这两个参数的写法不对。
到底应该怎么写呢?

oracle的没玩过,不过和SQL SERVER应该差不多。其实你也不需要把表拖上去,只取数据计算就只需要一个dataset(以SQLCLIENT为例):
string BeginTime='';
string EndTime='';
//现在给你的变量赋值:
BeginTime=.......;
EndTime=......;
//赋值完毕
SqlConnection cn=new SqlConnection(连接串);
SqlDataAdapter da=new SqlDataAdapter('select FBA, FBB,CTime
from TABLE1
where CTime between "'+BeginTime+'" and "'+EndTime" ',cn);
DataSet ds=new DataSet();
da.Fill(ds);
......
......
ds.Dispose();
da.Dispose();
cn.Close();
cn.Dispose();

try
{
using (ClsDB db = new ClsDB())
{
MemoryStream msm = new MemoryStream();
string SqlStr;
if (pictureBoxPhoto.Image != null)
{
SqlStr = "insert into czDriver(JszNO,J