0 امتیاز

دیتابیس اکسس

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

DataTable dtResult1 = new System.Data.DataTable();            string SIDE_Name;
            SIDE_Name = side.Text;
            if (SIDE_Name == "ماشین")
            {
                SIDE_Name = "Pusher";
            }
            if (SIDE_Name == "کک")
            {
                SIDE_Name = "Coke";
            }
             
             
 
 
             
            command.Remove(0, command.Length);
 
 
            command.Append("select MAX(WenDu) from tb_ZhiXingInfoDetail where ");
            if (cell.Text != string.Empty)
                command.Append("rssId = @rssId AND ");
            if (block.Text != string.Empty)
                command.Append("jiaoluhao = @jiaoluhao and ");
            if (label10.Text != string.Empty)
                command.Append("jiaolutype = @jiaolutype and ");
            if (date1.Text != "")
                command.Append("inputDate >= @inputDate and ");
            if (date2.Text != "")
                command.Append("inputDate <= @inputDate1 and ");
            command.Append("1 = 1");
 
 
            cmd.CommandText = command.ToString();
            cmd.Connection = con;
 
 
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@rssId", cell.Text);
            cmd.Parameters.AddWithValue("@jiaoluhao", block.Text);
            cmd.Parameters.AddWithValue("@jiaolutype", label10.Text);
            cmd.Parameters.AddWithValue("@inputDate", date1.Text.ToString());
            cmd.Parameters.AddWithValue("@inputDate1", date2.Text.ToString());
 
 
            dtResult1.Clear();
 
 
                da = new OleDbDataAdapter(cmd);
                da.Fill(dtResult1);
 
 
                maxtxt.Text = dtResult1.ToString();

 

1 پاسخ

0 امتیاز
سلام ،

 

دستورتون خطایی رو تولید می کنه ؟ بعید می دونم خطایی رو تولید کنه .

چرا اومدید با استفاده از DataAdapter نتیجه رو در یک Datatable قرار دادین ؟؟ نتیجه ی اجرای این Query فقط یک مقدار هست که همون بزگترین مقدار اون ستون میشه .

باید با استفاده از ExecuteNonQuery مقدار Query رو بدست بیارید و در یک متغیر Long یا int قرار بدین.  نتیجه و سرعت بهتری رو بدست میارید .

کد شما اشتباه نیست فقط راه زیادی رو رفتید و باید کد های بیشتر رو هم برای بررسی وجود مقدار در dtResult1 انجام بدین . یعنی با استفاده از خصوصیت Rows و خاصیت ItemArray مقدار رو بدست بیارید .

ولی به نظر بنده بهترین راه حل همون استفاده از متد ExecuteNonQuery می باشد .

موفق باشید .
من تا حالا با linq کار میکردم و هیچی از ado نمیفهمم. این کد را هم از یه جایی کپی کردم.

اگر روش خاصی بلدین کدش رو برام بزارید.

در واقع به با توجه به یه سری تکس باکس یک کوئری میزنم به دیتابیس و نتیجه را به صورت ماکسیمم و مینیمم و میانگین میخوام.

 

مثلا از تاریخ فلان تا فلان و بلوک فلان و سلول فلان حالا مجموع و میانگین و ماکسیمم و مینیمم دماهای بدست آمده را میخوام
توسط (164 امتیاز) 4 20
میشه کد را برام اصلاح کنید؟
توسط (164 امتیاز) 4 20
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...