سلام
ندونستن که عیب نیست
آقا چه طوری تو دلفی 8 میشه یه سری اطلاعات رو به دیتابیس که ازنوع Sql server هست Append کرد
یا اگه میشه یه مرجع که اینها رو گفته باشه زحمتشو بکشید
مرسی
شب خوش
سلام
ندونستن که عیب نیست
آقا چه طوری تو دلفی 8 میشه یه سری اطلاعات رو به دیتابیس که ازنوع Sql server هست Append کرد
یا اگه میشه یه مرجع که اینها رو گفته باشه زحمتشو بکشید
مرسی
شب خوش
سلام
یک راه حل مناسب و نه چندان سخت و بطور خلاصه:
جهت اجرای یک "کوئری بدون پاسخ" میتونید از چیزی شبیه به این فانکشن استفاده کنید. فقط کانکشن استرینگ رو یادتون نره:
procedure irExecuteNonQuery(SQL:string);
var
ConnetionString: String;
Connection: OleDbConnection;
MyCommand: OleDbCommand;
begin
ConnetionString := '...';
Connection := OleDbConnection.Create(ConnetionString);
Connection.Open;
MyCommand := OleDbCommand.Create(SQL,Connection);
MyCommand.CommandType := CommandType.text;
MyCommand.ExecuteNonQuery;
Connection.Close;
MyCommand.Dispose;
Connection.Dispose;
end;
حالا هر نوع "کوئری بدون پاسخ" رو میتونید اجرا کنید مثلا:
irExecuteNonQuery('insert into ...');'
Or
irExecuteNonQuery('update ...');
مرسی علی آقا :wink:
سلام
علی آقا این Error رو میده
نمی دونم واسه چی
اما خیلی از خواصشو این ور اون ور کردم نشد که نشد
سلام
دوست عزیز دوتا مطلب هست:
اول: کدی که من اینجا گذاشتم اگر خوب دقت کنید جهت استفاده در ران تایم آبجکتها رو ایجاد میکنه و عملی که شما برای استفاده از کد بنده در عکس ضمیمه انجام دادید کاملا اشتباهه. توجه کنید که آبجکتها در رانتایم ایجاد میشن و هیچ نیازی به درگ اند دراپ کردن در دیزاین تایم در اینجا نیست.
دوم: چیزی که بنده فراموش کردم این که در یوزز این سطر رو هم اضافه کنید:
uses System.Data,System.Data.OleDb
سلام علی آقا
یه وقت نگی این چقدر گیر میده هاااااااااااااا :mrgreen:
البته تو Sqlserver یک دیتابیس بنام test ساختم و تو قسمت Tableهم یک جدول به نام Table1 ساختم
من تو مقدار ConnectionString اینو قرار میدم
ConnectionString:='database=Test;hostname=Loac l;Provider=SQLOLEDB;username=sa;password=123456789 ';
حالا وقتی که میخوام اجرا کنم و مقداری را وارد کنمConnection.Open;گیر میده
آیا نوشتن اینجوری ConnectionString درسته؟
مشکل احتمالی کجاست
مرسی عزیز
شب خوش
:kiss: :flower:
سلام
کانکشن استرینگ رو مانند چیزی که در زیر نوشتم اصلاح کنید. بنابر این فانکشن بصورت زیر در میاد:
procedure irExecuteNonQuery(SQL:string);
var
ConnetionString: String;
Connection: OleDbConnection;
MyCommand: OleDbCommand;
begin
ConnetionString := 'Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=test;Persist Security Info=False;User ID=sa';
Connection := OleDbConnection.Create(ConnetionString);
Connection.Open;
MyCommand := OleDbCommand.Create(SQL,Connection);
MyCommand.CommandType := CommandType.text;
MyCommand.ExecuteNonQuery;
Connection.Close;
MyCommand.Dispose;
Connection.Dispose;
end;
برای استفاده کردن از این فانکشن هم به این صورت عمل کنید برای مثال اگر اسم تیبل شما Table1 باشه:
irExecuteNonQuery('insert into table1...');
نکته: هیچ نیازی به Open کردن کانکشن توسط خود شما نیست، اگر دقت کنید کانکشن در فانکشن فوق Open میشه.
سلام
مرسی علی آقا بابات اینکه وقت می ذارید
من این کوئری رو اینجوری می نویسم error میده
irExecuteNonQuery('Insert into Table1(name,famil)values('Reza','amiri ')');
ولی اینجوری که مینویسم اجرا میشه مگه شکل صحیح همون بالایی نیست
irExecuteNonQuery('Insert into Table1(name,famil)values("Reza","amiri ")');
هنوز موفق به insert کردن نشدم :cry:
سلام
در زبان پاسکال برای اینکه در یک استرینگ یک تک کوتیشن مارک رو بخواهیم داشته باشیم باید در محل مذکور دوبار تک کوتیشن رو تکرار کنیم. کد شما بصورت زیر میشه:
irExecuteNonQuery('Insert into Table1(name,famil)values(''Reza'',''am iri'')');
:kiss: :kiss: :flower: :flower: :kiss: :kiss:
مرسی علی آقا
خیلی وقت گذاشتی :flower: :kiss:
حالا یه مسئله که دارم بهش فکر می کنم اینه که برای نشون دادن فیلدها تو یک گرید باید در دیزاین تایم این کارو انجام بدیم یا در ران تایم
سلام
من به این صورت عمل میکنم:
- طراحی ظاهر جدول و شکل نمایش فیلدها در دیزاین تایم
- bind کردن دیتا در رانتایم
یه سوال : چه جوری میشه که یه بانک اکسس رو آدرس دهی کرد یعنی مثلا در شاخه /data در
شاخه مربوطه آدرس دهی کرد.
البته یه تابعی پیدا کردم Request.MapPath(' '); ژیدا کردم ولی نمی دونم چه جوری میشه یه راهنمایی بکنین؟؟؟؟
ممنون