用TableAdapter可以方便地实现N个条件查询的功能,但他比较死板,不能缺少任何一个参数,有没可能在TableAdapter中实现动态的参数功能?例如SQL如下:
select * from t1 where p1=@p1 and p2=@p2而我现在只输入一个@p1,目的是得到以下查询:
select * from t1 where p1=@p1而现有的TableAdapter实现成为:
select * from t1 where p1=@p1 and p2='默认值'有没办法在TableAdapter中配置实现动态的组合查询?如不行,这样的动态组合查询应该怎么实现?请各位指教!
select * from t1 where p1=@p1 and p2=@p2而我现在只输入一个@p1,目的是得到以下查询:
select * from t1 where p1=@p1而现有的TableAdapter实现成为:
select * from t1 where p1=@p1 and p2='默认值'有没办法在TableAdapter中配置实现动态的组合查询?如不行,这样的动态组合查询应该怎么实现?请各位指教!
解决方案 »
- 如何关闭线程打开的窗体.
- 学.net有必要学习Windows API吗?
- Text文本框的问题
- 加载文档是出错!
- 弹出对话框问题
- 一个困惑的验证问题,谁能帮忙想办法?
- 关于TreeView的问题
- 关于richtextbox选择问题~
- 请教: 子窗口的textbox,combobox等 如何与主窗口的datagrid 绑定??
- 关于n层体系结构与oo如何完美结合的问题?(来者有分,多多益善!)
- DataTable对像操作中的迷惑!
- Attempted to read or write protected memory. This is often an indication that other memory is corrupt
select * from t1 where p1=ISNULL(@p1, p1) and p2 = ISNULL(@p2, p2)p1为空时,设为DBNull.Value, p2为空时,设为DBNull.Value前提是p1, p2必须定义为NOT NULL, 因为 p2 = NULL的结果是NULL而不是true/false
如果p1, p2允许Null,则需要改为:
select * from t1 where ISNULL(p1, 0) = ISNULL(ISNULL(@p1, p1), 0)
and ISNULL(p2, '') = ISNULL(ISNULL(@p2, p2), '')
这种情况只是重新定义了数据填装接口,原理与重组字符串是一样的啊。
他可以实现我的目标,就行了。呵呵。标题:How can I get tableadapter to process dynamic sql 'select' queries?
解决了动态'select' 的问题。其它的问题,可以编程来解决了。