void __fastcall AnaLyze(AnsiString sql)
{
AnsiString table[10]; //保存表名
AnsiString field[50]; //保存字段名
int biao=0;
int i = 0;
int m = 0;
sql = sql.Delete(1,6); //去掉select
sql = sql.TrimLeft(); //去掉左边的空格
sql = sql.SubString(1,sql.AnsiPos("from")-1);
if(sql.AnsiPos("*"))return;
while(sql.AnsiPos(".")<sql.Length())
{
field[m]=sql.SubString(1,sql.AnsiPos(",")-1);
table[i]=sql.SubString(1,sql.AnsiPos(".")-1);
sql = sql.Delete(1,sql.AnsiPos(",")); //删除字段
sql = sql.TrimLeft(); //去掉左边的空格
for(int j=0;j<i;j++)
{
if(CompareStr(table[i],table[j])==0)
{
table[i]="";
i--;
}
}
i++;
m++;
if(sql.AnsiPos(".")&&!sql.AnsiPos(","))break;
} sql =sql.Trim();
field[m]=sql;
table[i]=sql.SubString(1,sql.AnsiPos(".")-1);
for(int j=0;j<i;j++)
{
if(CompareStr(table[i],table[j])==0) table[i]="";
}
}用BCB3实现
{
AnsiString table[10]; //保存表名
AnsiString field[50]; //保存字段名
int biao=0;
int i = 0;
int m = 0;
sql = sql.Delete(1,6); //去掉select
sql = sql.TrimLeft(); //去掉左边的空格
sql = sql.SubString(1,sql.AnsiPos("from")-1);
if(sql.AnsiPos("*"))return;
while(sql.AnsiPos(".")<sql.Length())
{
field[m]=sql.SubString(1,sql.AnsiPos(",")-1);
table[i]=sql.SubString(1,sql.AnsiPos(".")-1);
sql = sql.Delete(1,sql.AnsiPos(",")); //删除字段
sql = sql.TrimLeft(); //去掉左边的空格
for(int j=0;j<i;j++)
{
if(CompareStr(table[i],table[j])==0)
{
table[i]="";
i--;
}
}
i++;
m++;
if(sql.AnsiPos(".")&&!sql.AnsiPos(","))break;
} sql =sql.Trim();
field[m]=sql;
table[i]=sql.SubString(1,sql.AnsiPos(".")-1);
for(int j=0;j<i;j++)
{
if(CompareStr(table[i],table[j])==0) table[i]="";
}
}用BCB3实现
解决方案 »
- [求助][紧急在线等]临时表问题:过多的使用临时表会使tempdb的负荷加得很大,怎样解决好呢?
- 出现重复的行 怎么处理 谢谢
- 为什么不对呢????
- 我安装的sql server 2000目录下怎么没有80\Tools\Binn\
- sql 2005 数据库里被删了一个表,但是不知道谁删的,求助怎么查~~~,最好能给出具体步骤,我是新手~~~
- 帮我看看这个动态的字符串究竟怎么做!谢谢!到时候和下面我问的一起给分!
- 【学习交流】Merge用法,顺便回来看看
- 根据表2的数据修改表1,求解
- 。。。。。。。。。。很急。。在mssql中已经是int的数据类型如何能保持原来数据不丢失的情况下。变成自增的数据类型。谢谢了
- 网站上货币型的数据用图片显示出来怎么实现?
- datetime型默认为getdate()时如何只精确到秒?
- 如何用sql语句实现将一个表的int型字段改成自增长的主键?
+附帶
獲取存儲過程所有參數名,數據類型的方法,大俠,看能不能找到方法
select 參數名=c.name,類型名=t.name from syscolumn c,systypes t
where c.xusertype=t.xusertype and c.id=object_id('存儲過程名')