PDA

View Full Version : مبتدی: عدم ذخیره فایل در بانک اکسس



banihoseiny
پنج شنبه 18 بهمن 1403, 13:41 عصر
دوستان سلام. جدیدا کار با سی شارپ را شروع کرده ام. وقتی رکورد جدید ایجاد و ذخیره میکنم رکورد فوق را در گرید نشون میده و هر تعداد رکورد ایجاد کنم در گرید نمایش داده میشود ولی وقتی خارج میشم و بانک را در محیط اکسس باز میکنم ذخیره نشده است. اشکال کارم کجاست؟

mazoolagh
شنبه 20 بهمن 1403, 13:36 عصر
چندین بار مطرح
و پاسخ هم داده شده.

جستجو کنین.

banihoseiny
یک شنبه 21 بهمن 1403, 18:27 عصر
ممنون. باعث زحمت شدم.

ROSTAM2
یک شنبه 21 بهمن 1403, 18:29 عصر
ممنون. باعث زحمت شدم.

سلام
با چ نسخه ای ؟
پروژه ات رو ارسال کن....

banihoseiny
یک شنبه 21 بهمن 1403, 18:37 عصر
از هوش مصنوعی سوالم را پرسیدم جواب زیر را داد:

برای حل مشکل عدم ذخیره‌سازی اطلاعات در بانک اطلاعاتی Access از طریق فرم C#‎‎‎، مراحل زیر را دنبال کنید:
1. بررسی اتصال به پایگاه داده



اطمینان حاصل کنید که رشته اتصال (Connection String) به درستی تنظیم شده است.
از وجود مجوزهای لازم برای نوشتن داده‌ها در فایل پایگاه داده مطمئن شوید.

2. بررسی کد ذخیره‌سازی



مطمئن شوید که کد مربوط به ذخیره‌سازی اطلاعات به درستی نوشته شده است. به عنوان مثال:


csharp
using System.Data.OleDb;

// رشته اتصال به پایگاه داده
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=your_database_path.accdb;";

using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
string query = "INSERT INTO YourTable (Column1, Column2) VALUES (@value1, @value2)";

using (OleDbCommand command = new OleDbCommand(query, connection))
{
command.Parameters.AddWithValue("@value1", yourValue1);
command.Parameters.AddWithValue("@value2", yourValue2);

int result = command.ExecuteNonQuery();
if (result > 0)
{
MessageBox.Show("اطلاعات با موفقیت ذخیره شد.");
}
else
{
MessageBox.Show("خطا در ذخیره‌سازی اطلاعات.");
}
}
}
3. بررسی وجود داده‌ها در پایگاه داده



بعد از اجرای کد، پایگاه داده Access را ببندید و دوباره باز کنید. گاهی اوقات، تغییرات به صورت آنی نمایش داده نمی‌شوند.

4. بررسی خطاها



اگر در هنگام ذخیره‌سازی خطایی رخ می‌دهد، مطمئن شوید که آن را در کد خود مدیریت کرده‌اید. می‌توانید از بلوک try-catch برای دریافت جزئیات خطا استفاده کنید:


csharp
try
{
// کد ذخیره‌سازی
}
catch (Exception ex)
{
MessageBox.Show($"خطا: {ex.Message}");
}
5. بررسی قفل بودن پایگاه داده



مطمئن شوید که فایل پایگاه داده در حال حاضر توسط برنامه دیگری قفل نشده است. این می‌تواند باعث عدم توانایی در نوشتن اطلاعات شود.

6. تست با داده‌های ساده



برای اطمینان از اینکه مشکل از داده‌ها نیست، سعی کنید با داده‌های ساده و بدون پیچیدگی اطلاعات را ذخیره کنید.

7. بررسی نسخه‌های Access



اطمینان حاصل کنید که نسخه درایور Access که استفاده می‌کنید با نسخه پایگاه داده شما سازگار است.

با دنبال کردن این مراحل، باید بتوانید مشکل عدم ذخیره‌سازی اطلاعات در پایگاه داده Access را شناسایی و حل کنید. اگر همچنان با مشکل مواجه هستید، لطفاً جزئیات بیشتری از کد و خطاهای احتمالی را ارائه دهید تا بتوانم بهتر کمک کنم.

shahryari
جمعه 26 بهمن 1403, 11:47 صبح
دوستان سلام. جدیدا کار با سی شارپ را شروع کرده ام. وقتی رکورد جدید ایجاد و ذخیره میکنم رکورد فوق را در گرید نشون میده و هر تعداد رکورد ایجاد کنم در گرید نمایش داده میشود ولی وقتی خارج میشم و بانک را در محیط اکسس باز میکنم ذخیره نشده است. اشکال کارم کجاست؟

با سلام
برای اینکه هر بار با کامپایل کردن پروزه ، اون فایل اکسسی که خالیه از مسیر پروژه به مسیر اجرایی کپی میشه، خاصیت copy to output directory را بزار در حالت copy if newer

mazoolagh
شنبه 27 بهمن 1403, 11:37 صبح
برای اینکه هر بار با کامپایل کردن پروزه ، اون فایل اکسسی که خالیه از مسیر پروژه به مسیر اجرایی کپی میشه، خاصیت copy to output directory را بزار در حالت copy if newer

این دقیقا همین چیزی هست که قبلا بارها مطرح شده و پاسخ هم داشته،
چند نمونه اش:
سوال: ریست شدن محتویات درون بانک اطلاعاتی اکسس (https://barnamenevis.org/showthread.php?296246)
سوال: پاک شدن داده های دیتابیس بعد از اجرای فرم (https://barnamenevis.org/showthread.php?319064)
پاک شدن اطلاعات در اکسس بعد از بستن برنامه (https://barnamenevis.org/showthread.php?331130)
پاک شدن خودبه خود اطلاعات از بانک (https://barnamenevis.org/showthread.php?326775)
سوال: پایگاه داده اکسس و VB,Net (https://barnamenevis.org/showthread.php?334216)