请问谁有这样一个函数:输入一串SQL语句,输出这串SQL语句中所包含的表名? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 分析一下SQL语句,肯定是首先把"From "以后的都取出来,然后应该是判断where,把前面的取出来,然后split(myStr, ",")来分割。基本思路是这个。 分析一下SQL语句,肯定是首先把"From "以后的都取出来,然后应该是判断where,把前面的取出来,然后split(myStr, ",")来分割。基本思路是这个。 select aa.a,aa.b,bb,c from xx a,yy b,zz c where ......先取出from后面的,where 前面的 即:xx a,yy b,zz c 分割,碰到一个空格就往后跳找下一个“,”如果到","找完就出来结果了,思路是这个,具体怎么做需要几个函数,自己找找吧 表名就跟在"From"后面和"Join"后面,基本上就这两种情况. 好象你已问过这个问题吧。就是找表前和表后的两个关键词,如from,where,再把中间的分出来。Dim sql, findsql As Stringsql = "SELECT aa,bb,cc FROM table1 WHERE 1=1"findsql = Right(sql, InStr(1, sql, "FROM"))findsql = Trim(Left(findsql, InStr(1, findsql, " WHERE")))MsgBox findsql 你的SQL 一定要有特点如: 1. select * From a,b where ....2. select * from a Inner Join b on a.xx=b.xx where总之要有特点,然后根据这些特点取出所涉及到的表名 to abc10(什么时候才会有五个角?) 谢谢,上次哪个可以,但当SQL语句复杂点就会出现截取不正确得情况 例如我把sql = "SELECT aa,bb,cc FROM table1 WHERE 1=1"改为:sql = "SELECT aa,bb,cc,dd FROM table1 WHERE 1=1"就会截取错误 sorry,用错了一个函数Dim sql, findsql As Stringsql = "SELECT aa,bb,cc,dd FROM table1 WHERE 1=1"findsql = Mid(sql, InStr(1, sql, "FROM") + 4)findsql = Trim(Left(findsql, InStr(1, findsql, " WHERE")))MsgBox findsql 求3GP独立的解码器,能用WMP.DLL播放 VB如何接收第九位数据 引用了 Excel 2003,在制作安装包的时候需要打印打包哪些文件? 求救:关于一个类似Windows任务管理器的问题 各位兄弟,帮小弟看一段代码!!!在线等! 请问如何用VB实现读取Word文档(含格式),如何向Word文档中写数据(包括画线) 一个不是很难的问题,但不知道问题出在哪里,麻烦一下大家~! 请问我要在vb中用曲线图,柱状图,添加什么控件? 怎样用VB调用SQL语句? 网上那有图标可下载 sstab1 怎么控制让哪部分显示啊??? 有关串口的问题
就是找表前和表后的两个关键词,如from,where,再把中间的分出来。Dim sql, findsql As String
sql = "SELECT aa,bb,cc FROM table1 WHERE 1=1"
findsql = Right(sql, InStr(1, sql, "FROM"))
findsql = Trim(Left(findsql, InStr(1, findsql, " WHERE")))
MsgBox findsql
1. select * From a,b where ....
2. select * from a Inner Join b on a.xx=b.xx where
总之要有特点,然后根据这些特点取出所涉及到的表名
谢谢,上次哪个可以,但当SQL语句复杂点就会出现截取不正确得情况
改为:sql = "SELECT aa,bb,cc,dd FROM table1 WHERE 1=1"
就会截取错误
sql = "SELECT aa,bb,cc,dd FROM table1 WHERE 1=1"
findsql = Mid(sql, InStr(1, sql, "FROM") + 4)
findsql = Trim(Left(findsql, InStr(1, findsql, " WHERE")))
MsgBox findsql