D
djdsz
Unregistered / Unconfirmed
GUEST, unregistred user!
在SQLServer 2000数据库ERKD中定义如下一张表:
create table D6ADOMIDAS
(
A varchar(20) not null primary key,
B datetime
)
用D6新建一个工程,放入一个TADOConnection,TADOQuery,TDataSetProvider,
TClientDataSet,TDataSource,TDBGrid设置ADOConnection连接到SQL2000的ERDK数据库,
其他默认。
AdoQuery
connection=AdoConnection,
SQL='select * from D6ADOMIDAS where a=pp1 and b=pp2',paramcheck=true
DataProvider
DataSet=AdoQuery
Clientdataset
ProviderName=DataProvider.Name
并且FetchParams
DataSource
DataSet=ClientDataSet1
DBGrid
DataSource=DataSource1
放入一个按钮,写如下的onClick事件
ClientDataSet1.params[0].asstring:='';
ClientDataSet1.params[1].asstring:='2000-01-01';
ClientDataSet1.open;
运行程序并按按钮,错误出现了:
不能比较或排序text,ntext和image数据类型,除非使用is null或like运算符。
调试程序,在ADODB中出错,但测试ADOQuery的参数,没有错误的
AdoQuery1.parameters.items[0].value=''
AdoQuery1.parameters.items[1].asstring='2000-01-01'
当执行过Button.OnClick后,再执行如下的语句:
Adoquery1.Close;
Adoquery1.Parameters.Items[0].Value:='';
Adoquery1.Parameters.Items[1].Value:='1999-01-01';
Adoquery1.Open;
也会有相同的错误,该错误应该是没有对参数0重新赋值引起的。
当将Button.OnClick写成如下:
ClientDataSet1.params[0].asstring:=' ';//以前是''
ClientDataSet1.params[1].asstring:='2000-01-01';
ClientDataSet1.open;
错误不再出现。
问题:D6在MIDAS应用中与M$ SQLServer2000(通过ADO)连接,使用ClientDataSet.params[n].value
=''对一个ftString类型参数如何传递一个空字符串(不用DataRequest)
create table D6ADOMIDAS
(
A varchar(20) not null primary key,
B datetime
)
用D6新建一个工程,放入一个TADOConnection,TADOQuery,TDataSetProvider,
TClientDataSet,TDataSource,TDBGrid设置ADOConnection连接到SQL2000的ERDK数据库,
其他默认。
AdoQuery
connection=AdoConnection,
SQL='select * from D6ADOMIDAS where a=pp1 and b=pp2',paramcheck=true
DataProvider
DataSet=AdoQuery
Clientdataset
ProviderName=DataProvider.Name
并且FetchParams
DataSource
DataSet=ClientDataSet1
DBGrid
DataSource=DataSource1
放入一个按钮,写如下的onClick事件
ClientDataSet1.params[0].asstring:='';
ClientDataSet1.params[1].asstring:='2000-01-01';
ClientDataSet1.open;
运行程序并按按钮,错误出现了:
不能比较或排序text,ntext和image数据类型,除非使用is null或like运算符。
调试程序,在ADODB中出错,但测试ADOQuery的参数,没有错误的
AdoQuery1.parameters.items[0].value=''
AdoQuery1.parameters.items[1].asstring='2000-01-01'
当执行过Button.OnClick后,再执行如下的语句:
Adoquery1.Close;
Adoquery1.Parameters.Items[0].Value:='';
Adoquery1.Parameters.Items[1].Value:='1999-01-01';
Adoquery1.Open;
也会有相同的错误,该错误应该是没有对参数0重新赋值引起的。
当将Button.OnClick写成如下:
ClientDataSet1.params[0].asstring:=' ';//以前是''
ClientDataSet1.params[1].asstring:='2000-01-01';
ClientDataSet1.open;
错误不再出现。
问题:D6在MIDAS应用中与M$ SQLServer2000(通过ADO)连接,使用ClientDataSet.params[n].value
=''对一个ftString类型参数如何传递一个空字符串(不用DataRequest)