PDA

View Full Version : خطای انتخاب فایل



m.mahaki
شنبه 18 مرداد 1393, 16:49 عصر
سلام دوستان خسته نباشید
من یه فرم به برنامم اضافه کرده بودم که اهنگ و فیلم پخش کنه و درست کار میکرد، ولی دیشب که اجراش کردم این خطارو میداد
122107

خواستم بدونم مشکل چی میتونه باشه که این خطارو میده؟
وقتی فرم پلیر رو پیش فرض اجرا میکنم میشه اهنگ انتخاب کرد ولی وقتی از طریق یه فرم دیگه وارد فرم پلیر میشم موقع انتخاب اهنگ این خطارو میده.
ممنون میشم کمک کنید.

m.mahaki
شنبه 18 مرداد 1393, 18:18 عصر
کسی نیست؟؟؟؟
دوستان خیلی ضروریه اگه کمک کنید ممنون میشم.

alibilgats
شنبه 18 مرداد 1393, 23:50 عصر
دوست خوبم یه سوال!
شما به جز این کدی که نوشتید چه چیزای دیگه ای روی فرم دارید؟
اتصال به بانک اطلاعاتی دارید؟ اگه دارید چطور؟
اگر یکم توضیح بدید بهتر میتونم در مورد مشکلتون نظر بدم
ممنون

plus
یک شنبه 19 مرداد 1393, 00:29 صبح
ظاهرا پیدا کردن دلیل این خطا چندان راحت نیست. آیا نرم افزار، یا Extension جدیدی نصب کردین و اینطوری شده؟
پاسخ های این صفحه رو بخونید شاید کمک کرد: http://stackoverflow.com/questions/8428574/attempted-to-read-or-write-protected-memory-when-i-call-showdialog-method-of-op
و البته اگه از NET 2. استفاده میکنید این Patch رو هم نصب کنید: http://support.microsoft.com/kb/971030

m.mahaki
یک شنبه 19 مرداد 1393, 04:38 صبح
سلام alibilgats (http://barnamenevis.org/member.php?72322-alibilgats)
روی این فرم پلیر فقط چند تا دکمه واسه اهنگ بعدی و قبلی و دکمه استوپه. خود این فرم رو به بانک اطلاعاتی متصل نکردم ولی فرمای دیگه مثل لاگین و ثبت نام رو وصل کردم با استفاده از این کد
البته باید بگم که بعد از اینکه به بانک متصل شدم این خطا پیداش شد.

private OleDbConnection con = new OleDbConnection();


con.ConnectionString = @"provider=microsoft.ace.oledb.12.0;data source=F:\d.accdb";

کد فرم لود


try
{
con.Open();
lbl_cn.Text = "Login";
con.Close();
}
catch
{
lbl_cn.Text = "ارتباط با بانک برقرار نشد";
}



و کد دکمه ی لاگین


con.Open();
OleDbCommand com = new OleDbCommand();
com.Connection = con;
com.CommandText = "select * from table1 where usname='" + txt_username.Text + "' and pass1='" + txt_password.Text + "'";

OleDbDataReader read = com.ExecuteReader();
int count = 0;
while (read.Read())
{
count = count + 1;
}
if (count == 1)
{
// lbl_status.Text="شما با موفقیت وارد شدید";
frmhome frmh = new frmhome();
frmh.Show();
this.Hide();
}
else if (count > 1)
{

lbl_status.Text = "نام کاربری و رمز تکراری می باشند";


}
else
{

lbl_status.Text = "نام کاربری یا رمز شما اشتباه است";
txt_password.Text = "";
txt_username.Text = "";


}
con.Close();
}




دوست گرامی کد دکمه ی لاگین حتما باید تو برنامه باشه، اگه راه دیگه ای هست ممنون میشم راهنمایی کنی.

m.mahaki
یک شنبه 19 مرداد 1393, 04:41 صبح
سلام plus (http://barnamenevis.org/member.php?8256-plus)
نه نرم افزار نصب نکردم. راستش پاسخ ها انگلیسی بود و چیز زیادی دستگیرم نشد. ممنون بابت پاسختون :)

alibilgats
یک شنبه 19 مرداد 1393, 09:53 صبح
دوست خوبم دلیل اینکه ازت پرسیدم بانک اطلاعاتی چی استفاده کردی دقیقا همین نکته بود!

زحمت بکش فرمت بانک اطلاعاتی که داری رو از accdb به mdb تغییر بده.

اگه توی اکسس دیتابیست رو با فرمت 2003 - 2000 یه بار Save As کنی با فرمت mdb ذخیره میشه.

بعدش هم زحمت بکش توی کانکشن استرینگت microsoft.ace.oledb.12.0 رو به Microsoft.Jet.OLEDB.4.0 تغییر بده.

برنامه رو دوباره تست بزن و نتیجه رو بهم خبر بده!

m.mahaki
یک شنبه 19 مرداد 1393, 17:01 عصر
اره دقیقا مشکل بانک اطلاعاتی هست واقعا ممنون که کمک کردین، من افیس 2003 رو سیستم ندارم و سرعتم کمه نمیشه دانلود کنم.
هر چی هم جستجو کردم نتونستم فقط برنامه اکسس رو پیداکنم.
در هر صورت ممنونم دوست عزیز همین که مشکل پیدا شد کلی کمکم کرد، سربلند باشی