Arsip: insert tanggal secara otomatis

 
user image
more 13 years ago

divanda

mohon pencerahannya bagaimana sintax SQL untuk memasukkan tanggal secara otomatis, misalnya dalam sebuah tabel denda yang attributnya studentID, Category, Amount dan Date. nah disini saya ingin memasukkan tanggal secara otomatis (tanggal hari ini) tanpa harus mengetikkan tanggal hari ini. kasusnya misalnya student ID A001mempunyai denda kategori B sebesar 500, nah pada record nya karena date nya masih kosong itu berarti A001 belum melunasi dendanya. ketika button bayar di klik bagaimana caranya supaya secara otomatis record date pada table denda terisi dengan tanggal hari dia membayar denda. sehingga di DB Grid akan muncul secara otomatis tanggal hari ini. sayar membuat ADO Query = insert into denda (date) values ('supaya otomatis hari ini') where date is null and StudentID='+QuotedStr(edStudentID.Text); tapi bagaimana sintaxnya agar date nya otomatis tanpa harus menuliskan tanggal hari ini di sintaxnya?? mohon bantuannya skali.. " onerror="this.style.display='none'"/>
user image
more 13 years ago

reev

Kalau gak salah, bisa pake sql sbb: into denda (date) values ('+dateToStr(Date)+') where date is null and StudentID='+QuotedStr(edStudentID.Text);
user image
more 13 years ago

divanda

@reev: Kalau gak salah, bisa pake sql sbb: into denda (date) values ('+dateToStr(Date)+') where date is null and StudentID='+QuotedStr(edStudentID.Text);
saya coba ini: INSERT INTO debit (date) values ('+dateToStr(Date)+') where date is null and StudentID='+QuotedStr(edStudentID.Text); kok error ya... mohon bantuannya...
user image
more 13 years ago

anghuda

Emang ada perintah INSERT yang diikuti dengan WHERE ? Mungkin yg dimaksut adalah 'UPDATE debit SET date = '+dateToStr(Date)+' ... dst ... WHERE ... dst ...
user image
more 13 years ago

divanda

iya maksudnya update buka insert, maap salah statement.. UPDATE debit SET date = ('+dateToStr(Date)+') where date is null and StudentID= '+QuotedStr(edStudentID.Text)+' kok error ya? nah disini saya mengunakan MS Access dimana data type date nya = short date jadi misalnya 8/17/2007. mohon bantuannya..
user image
more 13 years ago

vikraa


//QDenda = TADOQuery
procedure ......................
begin
 QDenda.close;
 QDenda.sql.clear;
 QDenda.sql.add('update debit set date=:tgl where date is null and studentid=:ids');
{
 klo masih error coba pake ini :
 QDenda.sql.add('update debit set "debit"."date"=:tgl where "debit"."date" is null and studentid=:ids');
 }
 QDenda.parameters.parambyname('tgl').value:=DateToStr(now);  //ini buat ngambil tanggal sekarang
{
 klo tipe field di databasenya date pake : QDenda.parameters.parambyname('tgl').value:=now;
 }
 QDenda.parameters.parambyname('ids').value:=edStudent.text; //ini buat ngambil id student
 QDenda.prepared;
 QDenda.execsql;  
end;
semoga dapat membantu.....
user image
more 13 years ago

divanda

nah masalahnya ini saya pake ADOQuery, nah ketika saya masukkan sintax SQL nya yang seperti ini UPDATE debit SET date = ('+dateToStr(Date)+') where date is null and StudentID= '+QuotedStr(edStudentID.Text)+' dan kemudian saya set 'active=true' langsung kluar error commandtext does not return a result.. kenapa ya? mohon pertolongannya..
user image
more 13 years ago

zieborg

@divanda : kamu tidak bisa menggunakan method open atau set active=true untuk query yang bertipe dml/ddl, tapi gunakan execsql. Saran saya adalah jangan sekali2 menggunakan hardcode untuk melakukan insert query, selalu gunakan parameter. cara yang diberikan oleh rekan @vikraa itu sudah benar, asumsi saya, tipe data "date" adalah Datetime. misalkan ADOQuery kamu namanya ADOQuery1, kodenya seharusnya begini :

 ADOQuery1.close;
 ADOQuery1.sql.clear;
 ADOQuery1..sql.add('update debit set date=:tgl where date is null and studentid=:ids');
 ADOQuery1.parameters.parambyname('tgl').value:=Date;  
 ADOQuery1.parameters.parambyname('ids').value:=edStudentID.Text; 
 ADOQuery1..execsql;  
NB : jangan membuat nama field dengan nama yang kemungkinan merupakan reserved word, misalnya spt kasus diatas kamu menamakan field dg nama "date", lebih baik namakan "tanggal", atau "debitdate" misalnya
user image
more 13 years ago

DelphiExpert

@divanda: nah masalahnya ini saya pake ADOQuery, nah ketika saya masukkan sintax SQL nya yang seperti ini UPDATE debit SET date = ('+dateToStr(Date)+') where date is null and StudentID= '+QuotedStr(edStudentID.Text)+' dan kemudian saya set 'active=true' langsung kluar error commandtext does not return a result.. kenapa ya? mohon pertolongannya..

ADOQuery1.ExecSQL;
user image
more 13 years ago

nurez

tanggal.caption := datetostr(now); // di event timer date1:= tanggal1.caption;// di event klik update ADOQuery1.sql.clear; ADOQuery1..sql.text:=('update debit set datea=:date1 where date is null and studentid=:ids'); ADOQuery1.parameters[0].value:=Date1; ........ ADOQuery1.execsql; ADOQuery1.close; neve giveup.. !!!
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com