PDA

View Full Version : ذخیره اطلاعات در SQL روی اطلاعت قبلی !!!



merlin_vista
شنبه 03 شهریور 1386, 13:38 عصر
آقا من میخواهم اطلاعت یک فرد را در SQL ذخیره کنم و آنها را به TextBox ها بایند کنمو دفعه بعد که شخص آمد و اطلاعات را تغییر داد روی قبلی ها ذخیره شود و یک سطر جدید نسازه ! چون میخواهم در کریستال ریپورد فقط بگم که سطر 0 را فراخانی کن ! اطلاعات مثلاً نام شرکت و ...
هست !! در ضمن اگر بخواهیم در کریستال ریپورت تعیین کنیم که تصویر PictureBox را از مسیر image \ logo1.png بخون و اگر آنجا عکس را عوض کردیم در کریستال ریپورت هم عوض شود باید چگونه کد بنویسم !! :تشویق::تشویق::عصبانی++::لبخن :

رها
شنبه 03 شهریور 1386, 13:51 عصر
برای سطرهاتون یک کلید قرار بدید و از دستور update استفاده کنید تا رکورد جدید ایجاد نشه.


update table1 set field1=value1 where tablekey=keyvalue

در صورتی که فقط یک رکورد داشته باشید مقدار keyvalue در دستور بالا همیشه ثابت خواهد بود
برای عکس هم بهتره مسیر عکس رو در دیتابیس ذخیره کنید و هنگام پرینت از مسیر فایل عکس رو load کنید.اینجوری اگه مسیر عکس عوض بشه نیازی به تغییر کریستال ندارید
موفق باشید

merlin_vista
شنبه 03 شهریور 1386, 14:53 عصر
برای سطرهاتون یک کلید قرار بدید و از دستور update استفاده کنید تا رکورد جدید ایجاد نشه.


update table1 set field1=value1 where tablekey=keyvalue
در صورتی که فقط یک رکورد داشته باشید مقدار keyvalue در دستور بالا همیشه ثابت خواهد بود
د

میشه بیشتر توضیح بدهید ! از جواب سریع شما سپاس گزارم !

PC2st
شنبه 03 شهریور 1386, 19:00 عصر
آقا من میخواهم اطلاعت یک فرد را در SQL ذخیره کنم و آنها را به TextBox ها بایند کنمو دفعه بعد که شخص آمد و اطلاعات را تغییر داد روی قبلی ها ذخیره شود و یک سطر جدید نسازه ! چون میخواهم در کریستال ریپورد فقط بگم که سطر 0 را فراخانی کن ! اطلاعات مثلاً نام شرکت و ...
به فرض اینکه اطلاعات رو از Database در یک DataTable ریخته باشید
و TextBox هاتون رو به آن DataTable متصل کرده باشید،
پس با انجام تغییراتی که کاربر در هر کدوم از آن TextBox ها ایجاد میکنه، DataTable هم تغییر پیدا میکنه.
پس فقط کافیست که Database را آپدیت کنیم.
برای آپدیت کردنش هم همون دستوری که کاربر "رها" نوشتند کفایت میکنه.
مثلا برای اجرای این دستور:


connection.Open();
command.CommandText = "UPDATE table1 SET field1 = '" + textBox1.Text + "' WHERE id = 5";
command.ExecuteNonQuery();
connection.Close();

دستور فوق، فیلد field1 از رکوردی که فیلد id آن برابر 5 باشد را برابر textBox1.Text قرار میده. و table1 هم نام جدولی است که میخواهیم رکورد داخلش رو تغییر بدیم.

merlin_vista
شنبه 03 شهریور 1386, 19:07 عصر
آقا خیلی ممنون ! جواب های خوبی بود و من هم استفاده کردم و نتیجه گرفتم امیدوارم که دیگران هم استفاده کنند !‌