procedure form1.button1Click(Sender: TObject);
var
T1,T2:string;
begin
T1:=ComboBox1.Text;//=2004
T2:=ComboBox2.Text;//=11 with adoquery1 do
begin
Close;
SQL.Clear;
SQL.Add('select Employees.EmployeeID,Employees.Name,Employees.Department,book.bookID,book.bookcaption,LendBook.Lenddate,LendBook.Returndate');
SQL.Add('FROM book INNER JOIN (Employees INNER JOIN LendBook ON Employees.EmployeeID=LendBook.EmployeeID) ON book.bookID=LendBook.bookID');
SQL.Add('WHERE datepart(year,LendBook.Lenddate)='+T1+' AND datepart(month,LendBook.Lenddate)='+T2);
Open;
end;
end;三个表,分别是:Employees : EmployeeID, Name, Departmentbook : bookID, bookcaptionLendBook : EmployeeID, bookID, Lenddate, Returndate运行时显示错误: "year"没有默认值!数据库的三个表里有相关数据!请问要怎么处理这个错误?还有当连接两个表时,在Where条件中使用 {fn Now()} 会出错!请问是什么原因?但是连接单个表时,在SQL语句中的Where条件中使用 {fn Now()}, datepart(year,date) 就没有问题!谢谢!
var
T1,T2:string;
begin
T1:=ComboBox1.Text;//=2004
T2:=ComboBox2.Text;//=11 with adoquery1 do
begin
Close;
SQL.Clear;
SQL.Add('select Employees.EmployeeID,Employees.Name,Employees.Department,book.bookID,book.bookcaption,LendBook.Lenddate,LendBook.Returndate');
SQL.Add('FROM book INNER JOIN (Employees INNER JOIN LendBook ON Employees.EmployeeID=LendBook.EmployeeID) ON book.bookID=LendBook.bookID');
SQL.Add('WHERE datepart(year,LendBook.Lenddate)='+T1+' AND datepart(month,LendBook.Lenddate)='+T2);
Open;
end;
end;三个表,分别是:Employees : EmployeeID, Name, Departmentbook : bookID, bookcaptionLendBook : EmployeeID, bookID, Lenddate, Returndate运行时显示错误: "year"没有默认值!数据库的三个表里有相关数据!请问要怎么处理这个错误?还有当连接两个表时,在Where条件中使用 {fn Now()} 会出错!请问是什么原因?但是连接单个表时,在SQL语句中的Where条件中使用 {fn Now()}, datepart(year,date) 就没有问题!谢谢!
解决方案 »
- 如何屏蔽窗体标题栏左侧的图标和标题,以及的右侧的最小化和最大化按钮
- 请问皮肤控件valskin 3.99 出错是什么原因?
- 怎么把一个字符串转化为整形啊??转化为单个字符也行!!
- D6实现的windows 2000 下屏蔽Ctrl+Alt+Del的方法,完全SDK发布,来者有分
- 不嫌烦的来看一下,菜鸟问题。
- 为什么总是弹出密码框?
- 请问那里有将html中的html标志转换为特殊的显示标志的函数?
- 请问那里有鼠标取词的源程序(无内容)
- 如何得知哪个月有多少天?
- 如何学习Delphi
- form和frame有啥区别
- 急急急!!!1请问我使用的QuickCHM制作.chm格式的帮助,如何放置到DELPHI写的程序中!(50)
var
T1,T2:string;
sSql : String; // add by pdbird for test 20041118
begin
T1:=ComboBox1.Text;//=2004
T2:=ComboBox2.Text;//=11 sSql := 'select mployees.EmployeeID,Employees.Name,Employees.Department,book.bookID,book.bookcaption,LendBook.Lenddate,LendBook.Returndate '
+ ' FROM book INNER JOIN (Employees INNER JOIN LendBook ON Employees.EmployeeID=LendBook.EmployeeID) ON book.bookID=LendBook.bookID '
+ 'WHERE Lenddate between '''+T1+'-'+T2+'-01'' and DATEADD (month,1,'''+T1+'-'+T2+'-01'')' with adoquery1 do
begin
Close;
SQL.Clear;
SQL.Add(sSql)
Open;
end;
end;你写代码要写的清晰一点才好看,试试这个行不?