0 امتیاز

این شرط رو برای جستجو در دیتابیس نوشتم ولی کار نمی کنه. میخواستم یه شرط ture و false بزارم. در صورتی که: داخل دیتا بیس row بود که ستون productID یه عدد مشخص باشه و name خالی باشه.

یا

یک row باشه که ستون productID یه عدد مشخص و name هم یه نام مشخص داشته باشه.

string quary = "Select * From [Archive] where [ProductID]=@productID and [Name]='' or ([ProductID]=@productID and [Name]=@name)";
SqlCommand command = new SqlCommand(quary, connection);
command.Parameters.AddWithValue("@productID", productID);
command.Parameters.AddWithValue("@name", name);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = command;
adapter.Fill(dataSet);
int i = dataSet.Tables[0].Rows.Count;
if (i > 0) { return true; } else { return false; }

 

1 پاسخ

0 امتیاز

میخایی داخل ردیف چی باشه 

ر صورتی که: داخل دیتا بیس row بود که ستون productID یه عدد مشخص باشه و name خالی باشه


 

داخل دیتابیس همیشه row هست بدون ردیف که اطلاعات داخلش ذخیره نمیشه 

ستوان id هم که عدد مشخص باشه اونم باید شرط جستجو بزارید براش 

 


                 cmd.CommandText = "Select * From [Archive] Where  ProductID LIKE @id AND [Name] ='"+null+"'";

 

 

اینم مثال خوبیه

try
{
    FormatGrid();

    OleDbConnection con = new OleDbConnection(path);
    con.Open();
    //OleDbDataAdapter da = new OleDbDataAdapter("Select * from ItemMast where Icode like '" + txtICode.Text.Trim() + "%' order by Iname", con);
    OleDbDataAdapter da = new OleDbDataAdapter("Select * from ItemMast where IName like '" + txtICode.Text.Trim() + "%' order by IName", con);
    DataSet ds = new DataSet();
    da.Fill(ds, "ItemMast");
    DataTable dt = ds.Tables["ItemMast"];
    if (dt.Rows.Count > 0)
    {
        int i = 1;
        MSGrid1.Rows = dt.Rows.Count + 1;
        foreach (DataRow dr in dt.Rows)
        {
            MSGrid1.set_TextMatrix(i, 0, i.ToString());
            MSGrid1.set_TextMatrix(i, 1, dr["ICode"].ToString());
            MSGrid1.set_TextMatrix(i, 2, dr["IName"].ToString());
            MSGrid1.set_TextMatrix(i, 3, dr["SubSubGroupName"].ToString());
            MSGrid1.set_TextMatrix(i, 4, dr["GroupName"].ToString());
            MSGrid1.set_TextMatrix(i, 5, dr["SubGroupName"].ToString());
            //MSGrid1.set_TextMatrix(i, 4, dr["ICode"].ToString());
            //MSGrid1.set_TextMatrix(i, 3, dr["AvlQty"].ToString());

            double st1 = double.Parse(dr["AvlQty"].ToString());

            if (CheckDecimal(st1) == false)
                MSGrid1.set_TextMatrix(i, 6, st1.ToString("0"));
            else
                MSGrid1.set_TextMatrix(i, 6, st1.ToString());     

            i = i + 1;
        }
    }
    con.Close();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

 

 

 و این

string rowHostName = row.Cells["HostName"].Value.ToString();
string rowUsers = row.Cells["Users"].Value.ToString();
string rowPSName= row.Cells["PS_NAME"].Value.ToString();

if (arrHostName.Contains(rowHostName) 
    || arrUsers.Contains(rowUsers) 
    || arrPSName.Contains(rowPSName))
{ 
    row.Appearance.BackColor = Color.Yellow;
    row.Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
}

 

ویرایش شده توسط
توسط (7,164 امتیاز) 4 7 141

هیچکدوم جواب نداد. ولی رو ک البته خودم دارم ازش استفاده میکنم.

منتهی مشکل من اینکه این کوئری رو وقتی تو sql manegment اجرا می کنم جواب میده و مقدار بر می گردونه. ولی تو خود برنامه نمی تونه row رو پیدا کنه!

string query = "Select * From [Archive] Where  ( [ProductID] = "+ productID + " And [Name] = '' ) Or ( [ProductID] = "+ productID + " And [Name] = '"+name+"' ) ";

 

توسط (192 امتیاز) 9
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,926 کاربر

دسته بندی ها

...