VB.NET中能不能对DATASET再用SQL语言
可以筛选数据,但不能是标准的SQL语句:
Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
---------------------------------------------------------------
1.筛选:
dataset.tables("tabname").select("id=1")'相当于SQL中WHERE后的条件内容
2.保存到哪?这倒是不知,可能开辟一个内存,也可能是一个临时区....
应该相当于从一个表中select
---------------------------------------------------------------
Select函数返回一个DataRow()对象数组,可用循环方法加入数据集:
dim row as datarow
dim rows() as datarow=Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
if rows.length>0 then DsUserManager1.table(0).clear'重新导入筛选的数据
for each row in rows
DsUserManager1.table(0).ImportRow(row)
next
---------------------------------------------------------------
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataDataTableClassSelectTopic.htm
---------------------------------------------------------------
类似这样
OdbcCommand1.CommandText = "select * from xx"
OdbcDataAdapter1.SelectCommand = OdbcCommand1
OdbcDataAdapter1.Fill(dataset1, "xx")
---------------------------------------------------------------
可以对dataset中的dataview进行筛选。例如:dataview1.rowFilter="Parent_id"=+Parent.id.tostring
dataview排序用dataview1.sort="Parent ASC"
---------------------------------------------------------------
你要在Table中重新定义一次主键才行,如下:
Private Sub GetRowsByFilter()
Dim customerTable As DataTable
customerTable = new DataTable( "
相关文档:
----start
通常SQL PL只能使用在存储过程、触发器、用户自定义函数中,但是有一部分SQL PL也可以直接在命令行编辑器或脚本中使用,它们是:
DECLARE <variable>
SET
CASE
FOR
GET DIAGNOSTICS
GOTO
IF
RETURN
SIGNAL
WHILE
ITERATE
LEAVE
以下SQL PL不能直接在命令行编辑器或 ......
SQLPlus :http://www.orafaq.com/wiki/SQL*Plus_FAQ
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/sqloperations.htm
1. Transfer values from a sql scripts:
CNT=`sqlplus -s username/password1@dbname @getUVQuery_NULLCNT`;
Note : Remeber to use o ......
Oracle
SQL
的优化规
则:
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替
用IN写出来的SQL
的优点是比较容易写及清晰易懂,但是用IN的SQL
性能总是比较低的,从ORACLE
执
行的步骤来分析用IN的SQL
与不用IN的SQL
有
以下区别:
......