delphi QuotedStr

总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法以
及SQL语句中日期格式的表示(#)、('')
在Delphi中进行字符变量连接相加时单引号用('''),又引号用('''')表示
首先定义变量
var 
AnInt:integer=123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在某些情况下不对
AnIntStr:string='456';
AStr:string='abc';
AFieldName: string='字符型编号';
ATableName: string='YourTable';
ADate:Tdatetime=now;
Adoquery1:tadoquery;
1,Delphi语句
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 字符型编号='abc' and 整型编号=123';
等价于
adoquery1.sql.text:=
'select '+AFieldName+' from '+ATableName+' where '+AFieldName
+'='''+AStr+''' and 整型编号='+AnIntStr;
也等价于
adoquery1.sql.text:=
'select '+AFieldName+' from '+ATableName+' where '+AFieldName
+'='+QuotedStr(AStr)+' and 整型编号='+Inttostr(AnInt);

传到数据库服务器为:
select 字符型编号 from YourTable where 字符型编号='abc' and 整型编号=123

2,Delphi语句中日期表示
对于access数据库:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段=#2003-12-01#';
等价于:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段=#'+FormatDateTime('yyyy-MM-dd',now)+'#';
传到服务器为:
select 字符型编号 from YourTable where 日期型字段=#2003-12-01#

对于MSSQL数据库:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段='2003-12-01'';
等价于:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段='''+FormatDateTime('yyyy-MM-dd',now)+'''';
也等价于:
等价于:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段='+QuotedStr(FormatDateTime('yyyy-MM-dd',now));

传到服务器为:
select 字符型编号 from YourTable where 日期型字段='2003-12-01'

日期字段还可以这样表示
Delphi语句
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段>='+QuotedStr(FormatDateTime('yyyy-MM-dd',now))
+' and 日期型字段<='+QuotedStr(FormatDateTime('yyyy-MM-dd',now+1));//明天
等价于
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段 between '+QuotedStr(FormatDateTime('yyyy-MM-dd',now))
+' and '+QuotedStr(FormatDateTime('yyyy-MM-dd',now+1)); 




如果用
adoquery1.sql.add();
形式又如何操作?请用Insert语句示例

adoquery1.sql.add(' insert into '+AtableName);
adoquery1.sql.add(' ( '+AFieldName+')');
adoquery1.sql.add(' values( '+quotedstr(AStr)+')'); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi是一种编程语言,可以用于开发Windows平台的应用程序。在Delphi中,可以使用COM组件来实现Excel导入SQL的功能。 首先,需要使用Delphi中的COM组件来操作Excel文件。可以使用TExcelApplication组件来打开Excel文件,并使用TExcelWorkbook和TExcelWorksheet组件来读取和写入Excel数据。 接下来,需要将Excel数据导入到SQL数据库中。可以使用ADO(ActiveX Data Objects)组件来连接数据库,并使用SQL语句将Excel数据插入到数据库表中。 以下是一个简单的示例代码,演示了如何使用Delphi实现Excel导入SQL的功能: ```delphi uses ComObj, ADODB; procedure ImportExcelToSQL(const ExcelFilePath, TableName: string); var ExcelApp: Variant; Workbook: Variant; Worksheet: Variant; Connection: TADOConnection; Query: TADOQuery; Row, Col: Integer; begin // 创建Excel对象 ExcelApp := CreateOleObject('Excel.Application'); try // 打开Excel文件 Workbook := ExcelApp.Workbooks.Open(ExcelFilePath); Worksheet := Workbook.Worksheets; // 连接数据库 Connection := TADOConnection.Create(nil); Connection.ConnectionString := 'Provider=SQLOLEDB;Data Source=YourServer;Initial Catalog=YourDatabase;User ID=YourUsername;Password=YourPassword'; Connection.Connected := True; // 创建查询对象 Query := TADOQuery.Create(nil); Query.Connection := Connection; // 遍历Excel数据并插入到数据库表中 for Row := 1 to Worksheet.UsedRange.Rows.Count do begin Query.SQL.Text := 'INSERT INTO ' + TableName + ' VALUES ('; for Col := 1 to Worksheet.UsedRange.Columns.Count do begin Query.SQL.Text := Query.SQL.Text + QuotedStr(Worksheet.Cells[Row, Col].Value) + ','; end; Query.SQL.Text := Copy(Query.SQL.Text, 1, Length(Query.SQL.Text) - 1) + ')'; Query.ExecSQL; end; // 释放资源 Query.Free; Connection.Free; Workbook.Close; finally // 关闭Excel应用程序 ExcelApp.Quit; ExcelApp := Unassigned; end; end; ``` 使用上述代码,你可以将指定Excel文件中的数据导入到指定的SQL数据库表中。需要注意的是,你需要根据实际情况修改连接字符串和Excel文件路径、表名等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值