分类: 数据预览模式: 普通 | 列表

由一个值查找到包含该值的数据库具体的某个表及字段名。

 

SQL代码
  1. declare @cloumns varchar(40)  
  2. declare @tablename varchar(40)  
  3. declare @str varchar(40)  
  4. declare @counts int  
  5. declare @sql nvarchar(2000)  
  6. declare MyCursor Cursor For   
  7. Select a.name as Columns, b.name as TableName from syscolumns a,sysobjects b,systypes c   
  8. where a.id = b.id  
  9. and b.type = 'U'   
  10. and a.xtype=c.xtype  
  11. and c.name like '%char%'  
  12. set @str='张三'  
  13. Open MyCursor  
  14. Fetch next From MyCursor Into @cloumns,@tablename  
  15. While(@@Fetch_Status = 0)  
  16. Begin  
  17.  set @sql='select  @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ ''''  
  18. execute sp_executesql  @sql,N'@tmp_counts int out',@counts out  
  19.  if @counts>0  
  20.  begin  
  21.  print '表名为:'+@tablename+',字段名为'+@cloumns  
  22.  end  
  23. Fetch next From MyCursor Into @cloumns,@tablename  
  24. End  
  25. Close MyCursor  
  26. Deallocate MyCursor  

 

Tags: 字段 数据库 数据表

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 792

js乘法对小数点的处理

主题描述:JS[javascript/jscript]做小数乘法运算结果出现浮点错误的解决办法。

JS里做小数的乘法运算时会出现浮点错误,具体可以测试一下:

JavaScript代码
  1. alert(11*22.9)   

结果是251.89999999999998 而不是251.9。

一个简单的乘法运算,让我整了一个下午,主要是对JS不熟练。很是无奈。

解决问题的大概思路就是,先把因数放大为整数,最后再除以相应的倍数,这样就能得到正确的结果了。

下面的代码:

JavaScript代码
  1. //乘法,可小数  
  2. function accMul()  
  3. {  
  4. var m=0,s1=document.all.price.value.toString(),s2=document.all.amount.value.toString();  
  5. try{m+=s1.split(".")[1].length}catch(e){}  
  6. try{m+=s2.split(".")[1].length}catch(e){}  
  7. return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)  
  8. }  
  9.   
  10. Number.prototype.mul = function (arg){  
  11. return accMul(arg, this);  
  12. }  
  13.   
  14. function showresult(){  
  15.     document.all.moneys.value=accMul();  
  16. }  

查看更多...

Tags: js 乘法 运算 浮点数

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1293

取多个类别的前几条数据的SQL语句

 有一现实问题,想取某些类的前几条记录

SQL代码
  1. select * from BaikeInfo a where a.id in (select top 5 b.id from BaikeInfo b where b.Class = a.Class order by posttime descorder by Class, posttime desc  

 结果如下:

id     title    typeid posttime

3     1.3     1          3

2     1.2     1          2

6     2.3     2          6

查看更多...

Tags: 分组 查询 SQL

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 738

ASP调用MS SQL SERVER 的存储过程

SQL Server 存储过程

Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。

存储过程的概念

存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。

存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。

由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量、简单网络负担。

查看更多...

Tags: ASP 存储过程 SQL server

分类:数据 | 固定链接 | 评论: 2 | 引用: 0 | 查看次数: 3350

ACCESS与SQL SERVER的一些细微区别

Microsoft Access和 Microsoft SQL Server虽然同是微软的产品,但与微软的作风是一致的,就是自己的产品与自己的产品是可以不兼容或是不相同的。下面的不同是我在实际应用中遇到的,也在这些问题上浪费了大量时间后才醒悟过来的。

一、关键字(保留字)是不一样的,这个可以通过《SQL保留字查询》去查询验证。

二、两者所用的SQL语句的语法标准不同,ACCESS用的是JET SQL,而不是SQL Server所用的 T-SQL语句。

三、与上面第二点同理的一个例子,参阅《Count及Top在ACCESS里的异常表现

 

下面是这个例子,不知道是属于哪方面的区别。

SQL代码
  1. --SQL写法,注意后面不能有,号    
  2. delete from An_course where id in (45)     
  3. --ACCESS写法,SQL会出错    
  4. delete * from An_course where id in (45,)   

查看更多...

Tags: access SQL

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1342

ASP在翻页时保留查询条件的一般模式

在有查询表单的页面,如果输入查询条件得到的结果分多页的话,在翻页的时候怎么保持结果是原来的查询条件查出来的呢?也就是说翻页时怎么让查询条件保持。

我是以ASP的动态查询作为例子,但对于其他语言也应该是相通的吧。

先看代码示例

ASP/Visual Basic代码
  1. If mykey="" Then  
  2.     '点击了查询但查询条件为空时,默认的查询  
  3.     sql="select * from An_StudentSelectClass order by id desc"  
  4.     session("sql")=sql  
  5. ElseIf mykey="要查询的内容" Then  
  6.     '正常查询时  
  7.     sql="select * from An_StudentSelectClass where keywords like '%"&mykey&"%' order by id desc"  
  8.     session("sql")=sql  
  9. End If  
  10. If session("sql")<>"" Then  
  11.     '翻页时  
  12.     sql=session("sql")  
  13. Else  
  14.     '查询后超时或首次载入没有查询时  
  15.     sql="select * from An_StudentSelectClass order by id desc"  
  16. End If 
  17. rs.open sql,conn,1,1

代码判断了三个状态:1、首次载入没有查询动作;2、空条件查询;3、合法条件查询。

空条件查询后相当于初始化到首次载入的状态。

注意:如果一个系统里有多个页面用到这个模式,记得把session("sql")命名为不同,比如session("sqlother"),不然会相互之间窜数据而显示混乱。

查看更多...

Tags: ASP 查询条件

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1482

ANSI编码AJAX传递内容中如果有中文则出现乱码的问题。AJAX提交中文乱码。

有网友说在异步取值的文件(A文件)头加如下代码:

PHP:header('Content-Type:text/html;charset=GB2312');

ASP:Response.Charset("GB2312")

JSP:response.setHeader("Charset","GB2312");

但问题没有解决。

查看更多...

Tags: AJAX ANSI编码 中文乱码 ASP

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4854

Count及Top在ACCESS里的异常表现

ASP,ACCESS数据库,用Update更新数据时报错:

Microsoft JET Database Engine '80040e14'

Update 语句的语法错误。

该行代码如下,id字段是数值型的,id有值。

ASP/Visual Basic代码
  1. conn.execute ("update pubcou set count=count+1 where id="&id)  

 现在明白了,原来count是JET SQL语法里的关键字(count(*),用于统计的),天,当时我怎么没想到这方面呢!

关于SQL的关键字,有相关资料可供查询。

查看更多...

Tags: count 更新 关键字 SQL T-SQL access

分类:数据 | 固定链接 | 评论: 8 | 引用: 0 | 查看次数: 5738