View Full Version : دستور insertو ورود تاریخ
khomar
جمعه 26 اسفند 1384, 01:10 صبح
تو اکسس چند تا جدول دارم که به هم ارتباط دارن و به وی بی متصل می شه و بعد می خوام با دستورات اس کیو ال برنامه رو متصل کنم تو این جدول هام ساعت و تاریخ هم دارم که برام خیلی مهمه
سوال:
در دستورات اس کیو ال با توجه به این که برای رشته از تک کوتیشن و دابل کوتیشین و برای عددها از دابل کوتیشن استفاده می کنیم برای ورود تاریخ ها باید چه بزارم؟ یا اصلا تاریخ عدد حساب می شه یا رشته؟دستورش با اس کیو ال چیه؟
ممنون
AminSobati
جمعه 26 اسفند 1384, 13:40 عصر
سلام،
اگر منظور شما از "دستورات اس کیو ال" همون TSQL باشه، باید تک کوتیشن استفاده کنین. ولی در VB، وقتی به پارامتری از جنس DateTime مقدار میدین، باید دابل کوتیشین استفاده کنین. ممکنه در VB به کمک Command Object بخواهید دستور Insert رو بنویسید که باز TSQL محسوب میشه، لذا تک کوتیشن لازم داره.
khomar
شنبه 27 اسفند 1384, 00:12 صبح
سلام،
اگر منظور شما از "دستورات اس کیو ال" همون TSQL باشه، باید تک کوتیشن استفاده کنین. ولی در VB، وقتی به پارامتری از جنس DateTime مقدار میدین، باید دابل کوتیشین استفاده کنین. ممکنه در VB به کمک Command Object بخواهید دستور Insert رو بنویسید که باز TSQL محسوب میشه، لذا تک کوتیشن لازم داره.
من می خوام دستورات اس کیو ال رو در وی بی استفاده کنم با دستورinsert
پس توی دستورinsert از تک کوتیشن استفاده کنم؟
hamed_F
شنبه 27 اسفند 1384, 01:33 صبح
اگر به جز تک کوتیشن استفاده کنی سیستم Error میده ولی پیشنهاد می کنم برای اینکه بعده ها به مشکل نخوری تاریخ رو بصورت int وارد کن
manager
شنبه 27 اسفند 1384, 06:50 صبح
من از تو خود sql یه همچین مشکلی داشتم از تابع Convert استفاده کردم:
Convert(DateTime,'رشته مورد نظر',n)
در این تابع منظور از رشته مورد نظر همون تاریخ شماست که به صورت string داخل دو تک کوتیشن قرار گرفته و عدد n فرمت نوشته شما رو تنظیم می کنه برای اطلاعات بیشتر به مشتندات sql مراجعه کنید.
khomar
یک شنبه 28 اسفند 1384, 17:57 عصر
این convert رو چه جوری تو دستورات استفاده کنم؟ کد نویسی برنامه رو گذاشتم قسمت هایی رو که نمی دونستم و سوال کردم رو قرمز رنگ کردم
Private Sub Command1_Click()
Dim st As String
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=e:\library.mdb"
cnn.Open
st = "insert into membership(name,family,number,field,number student,data membership)values('" + Text1.Text + "','" + Text2.Text + "'," + Text3.Text + ",'" + Text4.Text + "'," + Text5.Text + ",?????????????????????)"
cnn.Execute (st)
cnn.Close
Adodc1.Refresh
DataGrid1.Refresh
End Sub
behzad_gh
یک شنبه 28 اسفند 1384, 21:48 عصر
کد زیر رو امتحان کن
Dim dateValue As Date
dateValue = Now
st = "insert into membership(name,family,number,field,number student,data membership)values('" + Text1.Text + "','" + Text2.Text + "','" + Text3.Text + "','" + Text4.Text + "','" + Text5.Text + "',#" + Format(dateValue, "yyyy-MM-dd HH:mm:ss") + "#)"
khomar
پنج شنبه 17 فروردین 1385, 07:58 صبح
کد زیر رو امتحان کن
Dim dateValue As Date
dateValue = Now
st = "insert into membership(name,family,number,field,number student,data membership)values('" + Text1.Text + "','" + Text2.Text + "','" + Text3.Text + "','" + Text4.Text + "','" + Text5.Text + "',#" + Format(dateValue, "yyyy-MM-dd HH:mm:ss") + "#)"
سپاسگزارم با راهنمایتون مشکلم حل شد
khomar
سه شنبه 22 فروردین 1385, 23:01 عصر
کد زیر رو امتحان کن
Dim dateValue As Date
dateValue = Now
st = "insert into membership(name,family,number,field,number student,data membership)values('" + Text1.Text + "','" + Text2.Text + "','" + Text3.Text + "','" + Text4.Text + "','" + Text5.Text + "',#" + Format(dateValue, "yyyy-MM-dd HH:mm:ss") + "#)"
من در مورد این کد چند تا سوال دیگه هم دارم
این کد تو دستور update چه جوری می شه استفاده کرد من هرچی ور رفتم نتونستم
فرض کنیم من فقط نیاز به ساعت داشته باشم یعنی تاریخ رو نمی خوام حالا باید از این دستور چه جوری استفاده کنم ؟ممنون
behzad_gh
چهارشنبه 23 فروردین 1385, 06:28 صبح
سلام،
این کد تو دستور update چه جوری می شه استفاده کرد من هرچی ور رفتم نتونستم
برای آپدیت کردن از کد زیر استفاده کنید:
up = "UPDATE membership SET name = '" + Text1.Text + "', family = '" + Text2.Text + "', number = '" + Text3.Text + "', field = '" + Text4.Text + "', number student = '" + Text5.Text + "', data membership = #" + Format(DateValue, "yyyy-MM-dd HH:mm:ss") + "#"
برای فیلدهایی که عدد هستند نیاز به ' ' نیست مثلا
" number = " + Text3.Text + " "
سعی کنید مابین نام فیلدها فاصله نداشته باشید. مثلا بجای number student از NumberStudent استفاده نمایید. اگر از فاصله در نام فیلدها استفاده مینمایید آنها را مابین [] قرار دهید . مثلا [number student]
فرض کنیم من فقط نیاز به ساعت داشته باشم یعنی تاریخ رو نمی خوام حالا باید از این دستور چه جوری استفاده کنم ؟
در اس کیو ال نوع ساعت به تنهایی وجود ندارد و شما باید ساعت و تاریخ را با هم ذخیره نمایید.
البته میتوانید ساعت را در یک فیلد از نوع رشته به صورت یک رشته ذخیره نمایید. که اگر خواستید ساعت را بصورت رشته ذخیره نمایید در کد بالا قسمت تاریخ را بصورت زیر تعویض نمایید:
"', data membership = '" + Format(DateValue, "HH:mm:ss") + "'"
موفق باشید .:تشویق:
khomar
شنبه 26 فروردین 1385, 23:32 عصر
مرسی هر چند هنوز امتحانشون نکردم ولی از کمکتون سپاسگزارم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.