PDA

View Full Version : سوال: این ارور دیتابیس رو چجوری رفع کنم؟



jboloori
چهارشنبه 30 اردیبهشت 1394, 23:01 عصر
سلام

کدی که نوشتم یه مقداری رو که مد نظرمه از دیتابیس میخونه و تو لیبل نشون میده.
توی form load که گذاشتم بدرستی این کار رو انجام میده اما من نیاز دارم این کد رو تو تایمر بذارم که مثلا هر ثانیه بروز بشه.یه بار که اجرا میشه بار دوم ارور میده.

این هم تصویر ارور لطفا کمکم کنید مشکلو برطرف کنم.

http://s6.uplod.ir/i/00603/ahyza83uwlw0.png

ممنون

winner1
چهارشنبه 30 اردیبهشت 1394, 23:07 عصر
همون خطای قبلی رو میده؟ میشه کد کاکل رو بزاری و اینکه بگی ایا ابجت کامندت فیلد یا متغیر؟

jboloori
چهارشنبه 30 اردیبهشت 1394, 23:30 عصر
همون خطای قبلی رو میده؟ میشه کد کاکل رو بزاری و اینکه بگی ایا ابجت کامندت فیلد یا متغیر؟

نه این خطا فرق میکنه همیشه دفه اول اجرا میشه دفه دوم این گیر رو میده.
بله البته این هم کل کدش.


void daramadMah()
{
string mah2;
if (PC.GetMonth(DateTime.Now) < 10)
mah2 = "0" + PC.GetMonth(DateTime.Now).ToString();
else
mah2 = PC.GetMonth(DateTime.Now).ToString();

con.ConnectionString = Properties.Settings.Default.DataBaseConString;


cmd.Connection = con;


cmd.CommandType = CommandType.Text;



con.Open();


cmd.CommandText = "Select count(*) from tblDaramadha where tarikh BETWEEN ? AND ?";
cmd.Parameters.AddWithValue("p1", (PC.GetYear(DateTime.Now).ToString()+"/"+mah2+"/"+"01"));
cmd.Parameters.AddWithValue("p1", (PC.GetYear(DateTime.Now).ToString() + "/" + mah2 + "/" + "31"));

int m = Convert.ToInt32(cmd.ExecuteScalar());
cmd.Parameters.Clear();
if (m >= 1)
{
cmd.CommandText = "SELECT SUM(daramad) AS daramad FROM tblDaramadha WHERE tarikh BETWEEN ? AND ?";
cmd.Parameters.AddWithValue("p1", (PC.GetYear(DateTime.Now).ToString() + "/" + mah2 + "/" + "01"));
cmd.Parameters.AddWithValue("p1", (PC.GetYear(DateTime.Now).ToString() + "/" + mah2 + "/" + "31"));

OleDbDataReader dr = cmd.ExecuteReader();

cmd.Parameters.Clear();
while (dr.Read())
{

label8.Text = dr["daramad"].ToString() + " تومان";

}
}
else
{
label8.Text = "ثبت نشده";
}

con.Close();
}

winner1
چهارشنبه 30 اردیبهشت 1394, 23:31 عصر
شما به اول متدتون کد زیر و اضافه کن

cmd.Parameters.Clear();

jboloori
چهارشنبه 30 اردیبهشت 1394, 23:47 عصر
شما به اول متدتون کد زیر و اضافه کن

cmd.Parameters.Clear();


این رو داخل کد دارم . به اول هم منتقل کردم فرقی نداشت

winner1
چهارشنبه 30 اردیبهشت 1394, 23:51 عصر
​به قبل از con.Open

jboloori
پنج شنبه 31 اردیبهشت 1394, 00:38 صبح
​به قبل از con.Open

دقیقا همین کار رو انجام دادم ولی فرقی نکرد