2016-06-13 4 views
0

У меня есть идентификатор int в моей функции загрузки формы, а во время загрузки я хочу, чтобы datagridview заполнял данными, где someColumn, например, «%? @ ID%», но когда я пишу это так, он не работает , Объясните мне, как это нужно делать.запрос с переменными C#

Вот код нагрузки:

private void PopisnaLista_Load(object sender, EventArgs e) 
    { 
     // TODO: This line of code loads data into the 'dataSet1.ROBA' table. You can move, or remove it, as needed. 
     this.rOBATableAdapter.Fill(this.dataSet1.ROBA); 
     try 
     { 
      this.rOBATableAdapter.FillBy(this.dataSet1.ROBA); 
     } 
     catch (System.Exception ex) 
     { 
      System.Windows.Forms.MessageBox.Show(ex.Message); 
     } 
    } 

Вот запрос для FillBy

SELECT  ROBAID, KATBR, KATBRPRO, NAZIV, VRSTA, AKTIVNA, GRUPAID, PODGRUPA, PROID, JM, TARIFAID, NABAVNACENA, PRODAJNACENA, DEVNABCENA, FABRCENA, STANJE, NARUCENO, REZERVISANO, 
         STANJEPOOTP, TAKSA, MARZA, UVOZ, TARBROJ, AKCIZA, NAZIVZACARINU, NAZIVNAENG, GARANTID, ALTJM, ALTKOL, ALTNEDELJIVA, TRPAK, TRKOL, JMSD, KOMENTAR, XOD, XDO, YOD, YDO, ZOD, ZDO, 
         IMAROKTRAJANJA, NACENOVNIKU, ZAPID, NORMA, KALO, TEZINA, PIN, KRITZAL, OPTZAL, KATEGORIJA, IMASBROJ, STANJEPOSER, ZAPREMINA, SLIKA, PPID, TRDECPAK, PRODCENABP, JMR, 
         STANJEPOREKLAM, STANJEPOREVERSU, ADR, STANJE_MOJE_EKSP, VPCID, PROCPC, DATUM_ISPORUKE, REZERVISANO_MOJE_EKSP, STANJEPOOTP_MOJE_EKSP, STANJEPOSER_MOJE_EKSP, 
         NAZIVZASTAMPU, ALTPIN, TRPIN, DRZAVAID, LINKED_ROBAID, OBLIK, REKLAM_PROC, JM_POVRSINA, JM_ZAPREMINA, X3, Y3, Z3, NAS_BARKOD 
FROM   ROBA 
WHERE  (KATBRPRO LIKE '%[email protected]') 
+1

@ID является строкой там. положите его как «%?» + @ ID + '' ' –

+1

Вы действительно хотите использовать 'Like' для ID? Если вы используете идентификатор для идентификации одной строки, а не всех строк, содержащих «1» в ID – Aimnox

+0

Dynamic SQL Error - оценка выражения не поддерживается. – DoLoop

ответ

0

я решил.

Сначала напишите (KATBRPRO LIKE @ID), затем FillBy примет 2 аргумента (dataSet, переменная в запросе (@ID)), но поскольку мой идентификатор является номером и мне нужно %? перед ним, я просто добавляю это в аргумент и присоединяюсь к ID так код выглядит следующим образом:

 try 
     { 
      this.rOBATableAdapter.FillBy(this.dataSet1.ROBA, "%?" + ID.ToString()); 
     } 
     catch (System.Exception ex) 
     { 
      System.Windows.Forms.MessageBox.Show(ex.Message); 
     } 

И Запрос

SELECT  ROBAID, KATBR, KATBRPRO, NAZIV, VRSTA, AKTIVNA, GRUPAID, PODGRUPA, PROID, JM, TARIFAID, NABAVNACENA, PRODAJNACENA, DEVNABCENA, FABRCENA, STANJE, NARUCENO, REZERVISANO, 
         STANJEPOOTP, TAKSA, MARZA, UVOZ, TARBROJ, AKCIZA, NAZIVZACARINU, NAZIVNAENG, GARANTID, ALTJM, ALTKOL, ALTNEDELJIVA, TRPAK, TRKOL, JMSD, KOMENTAR, XOD, XDO, YOD, YDO, ZOD, ZDO, 
         IMAROKTRAJANJA, NACENOVNIKU, ZAPID, NORMA, KALO, TEZINA, PIN, KRITZAL, OPTZAL, KATEGORIJA, IMASBROJ, STANJEPOSER, ZAPREMINA, SLIKA, PPID, TRDECPAK, PRODCENABP, JMR, 
         STANJEPOREKLAM, STANJEPOREVERSU, ADR, STANJE_MOJE_EKSP, VPCID, PROCPC, DATUM_ISPORUKE, REZERVISANO_MOJE_EKSP, STANJEPOOTP_MOJE_EKSP, STANJEPOSER_MOJE_EKSP, 
         NAZIVZASTAMPU, ALTPIN, TRPIN, DRZAVAID, LINKED_ROBAID, OBLIK, REKLAM_PROC, JM_POVRSINA, JM_ZAPREMINA, X3, Y3, Z3, NAS_BARKOD 
FROM   ROBA 
WHERE  (KATBRPRO LIKE @ID) 
Смежные вопросы