ClientDataSet调用存储过程方法

ClientDataSet调用方法(实际上就是三层中的远端执行):

procedure TMain.btn_ClientDataSetExecClick(Sender: TObject); begin DataSource1.DataSet := ClientDataSet1; ClientDataSet1.ProviderName := 'DataSetProvider1'; DataSetProvider1.DataSet.Close; //即执行了 Adoquery1.Close; ClientDataSet1.Close; ClientDataSet1.CommandText := 'Execute up_TestAdoExec :@inVar,:@outVar output'; ClientDataSet1.Params.Clear; //调用存储过程时,必须把此语句放在对CommandText的赋值操作之后 ClientDataSet1.Params.CreateParam(ftString,'@inVar',ptInput); ClientDataSet1.Params.CreateParam(ftString,'@outVar',ptOutput); ClientDataSet1.Params.ParamByName('@inVar').Size := 100; ClientDataSet1.Params.ParamByName('@inVar').Value := Edit1.Text; ClientDataSet1.Params.ParamByName('@outVar').Size := 100; //ClientDataSet1.Params.ParamByName('@outVar').Value := Edit2.Text; //ClientDataSet1.Execute;//如果不返回结果集,执行此语句 ClientDataSet1.Open; Edit2.Text := ClientDataSet1.Params.ParamByName('@outVar').Value; end;

Posted in 数据库 at September 1, 2015. by 傻猫 .    Views: 1534    No Comments

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

  1.INSERT INTO SELECT语句

  语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

  要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:

2.SELECT INTO FROM语句

  语句形式为:SELECT vale1, value2 into Table2 from Table1

  要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:
Posted in 数据库 at December 4, 2014. by 傻猫 .    Views: 3044    No Comments

Sql Server中的日期与时间函数

Sql Server中的日期与时间函数

  1. 当前系统日期、时间
    select getdate()

  2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
    例如:向日期加上2天
    select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000

  3. datediff 返回跨两个指定日期的日期和时间边界数。
    select datediff(day,'2004-09-01','2004-09-18') --返回:17

  4. datepart 返回代表指定日期的指定日期部分的整数。
    SELECT DATEPART(month, '2004-10-15') --返回 10

查看更多内容...

Posted in 数据库 at November 27, 2014. by 傻猫 .    Views: 2105    No Comments

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法

本错误是由于你使用了ACCESS2007版本建立的数据库,但服务器中没有相配合使用的程序,所以出错.

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

下载2007 Office system 驱动程序:数据连接组件安装

http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,
例如从 Microsoft Office Access 2007(mdb 和 accdb)文件以及 Microsoft Office Excel 2007(xls、xlsx 和 xlsb)文件中读取数据。这些组件还支持与 Microsoft Windows SharePoint Services 和文本文件建立连接。

此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

查看更多内容...

Posted in 数据库 at November 12, 2014. by 傻猫 .    Views: 2907    No Comments

EXCEL怎么把日期转换成文本

EXCEL怎么把日期转换成文本

20090101 2009年1月1日
20090701 2009年7月1日

=TEXT(A1,"0000年00月00日")

Posted in 数据库 at September 15, 2014. by 傻猫 .    Views: 2464    No Comments

mssql查询所有表和所有表记录数

select object_name(id) as tablename,rows from sysindexes
where id in (select id from sysobjects where xtype='U') and indid in (0,1)

Posted in 数据库 at April 9, 2014. by 傻猫 .    Views: 2721    No Comments

MSSQL日期代码格式

1 SELECT CONVERT(varchar(100),GETDATE(),0)05920119:12AM
2 SELECT CONVERT(varchar(100),GETDATE(),1)05/09/11
3 SELECT CONVERT(varchar(100),GETDATE(),2)11.05.09
4 SELECT CONVERT(varchar(100),GETDATE(),3)09/05/11
5 SELECT CONVERT(varchar(100),GETDATE(),4)09.05.11
6 SELECT CONVERT(varchar(100),GETDATE(),5)09-05-11
7 SELECT CONVERT(varchar(100),GETDATE(),6)090511
8 SELECT CONVERT(varchar(100),GETDATE(),7)0509,11
9 SELECT CONVERT(varchar(100),GETDATE(),8)09:13:14
10 SELECT CONVERT(varchar(100),GETDATE(),9)05920119:13:14:670AM
11 SELECT CONVERT(varchar(100),GETDATE(),10)05-09-11
12 SELECT CONVERT(varchar(100),GETDATE(),11)11/05/09
13 SELECT CONVERT(varchar(100),GETDATE(),12)110509
14 SELECT CONVERT(varchar(100),GETDATE(),13)0905201109:13:14:670
15 SELECT CONVERT(varchar(100),GETDATE(),14)09:13:14:670
16 SELECT CONVERT(varchar(100),GETDATE(),20)2011-05-0909:13:14
17 SELECT CONVERT(varchar(100),GETDATE(),21)2011-05-0909:13:14.670
18 SELECT CONVERT(varchar(100),GETDATE(),22)05/09/119:15:33 AM
19 SELECT CONVERT(varchar(100),GETDATE(),23)2011-05-09
20 SELECT CONVERT(varchar(100),GETDATE(),24)09:15:33
21 SELECT CONVERT(varchar(100),GETDATE(),25)2011-05-0909:15:33.140
22 SELECT CONVERT(varchar(100),GETDATE(),100)05920119:15AM
23 SELECT CONVERT(varchar(100),GETDATE(),101)05/09/2011
24 SELECT CONVERT(varchar(100),GETDATE(),102)2011.05.09
25 SELECT CONVERT(varchar(100),GETDATE(),103)09/05/2011
26 SELECT CONVERT(varchar(100),GETDATE(),104)09.05.2011
27 SELECT CONVERT(varchar(100),GETDATE(),105)09-05-2011
28 SELECT CONVERT(varchar(100),GETDATE(),106)09052011
29 SELECT CONVERT(varchar(100),GETDATE(),107)0509,2011
30 SELECT CONVERT(varchar(100),GETDATE(),108)09:16:38
31 SELECT CONVERT(varchar(100),GETDATE(),109)05920119:16:38:543AM
32 SELECT CONVERT(varchar(100),GETDATE(),110)05-09-2011
33 SELECT CONVERT(varchar(100),GETDATE(),111)2011/05/09
34 SELECT CONVERT(varchar(100),GETDATE(),112)20110509
35 SELECT CONVERT(varchar(100),GETDATE(),113)0905201109:17:19:857
36 SELECT CONVERT(varchar(100),GETDATE(),114)09:17:19:857
37 SELECT CONVERT(varchar(100),GETDATE(),120)2011-05-0909:17:19
38 SELECT CONVERT(varchar(100),GETDATE(),121)2011-05-0909:17:19.857
39 SELECT CONVERT(varchar(100),GETDATE(),126)2011-05-09T09:17:19.857
40 SELECT CONVERT(varchar(100),GETDATE(),130)6 ????? ???????14329:17:19:857AM
41 SELECT CONVERT(varchar(100),GETDATE(),131)6/06/14329:17:19:857AM

Posted in 数据库 at March 1, 2014. by 傻猫 .    Views: 2874    No Comments

SQL优化-关于max degree of parallelism 选项

当 SQL Server 2005 在具有多个微处理器或 CPU 的计算机上运行时,它将为每个并行计划执行检测最佳并行度(即运行一个语句所使用的处理器数)。您可以使用 max degree of parallelism 选项来限制并行计划执行时所用的处理器数。如果默认值为 0,则使用所有可用的处理器。将 max degree of parallelism 设置为 1 以取消生成并行计划。将该值设置为大于 1 的数字(最大为 64)来限制执行单个查询时所用的最大处理器数。如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。

查看更多内容...

Posted in 数据库 at February 7, 2014. by 傻猫 .    Views: 2586    No Comments