2016-06-13 2 views
0

내 폼로드 함수에 int ID가 있고로드하는 동안 '%? @ ID %'와 같은 someColumn 데이터로 채우기 위해 datagridview를 원하지만이 경우에는 작동하지 않습니다. . 그것을 어떻게해야하는지 설명해주십시오.변수를 사용하여 쿼리 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

ID에'Like'를 사용 하시겠습니까? ID를 사용하는 경우 하나의 행을 식별하는 데 사용되며 ID에 '1'이 포함 된 모든 행을 식별하는 것이 아닙니다. – Aimnox

+0

동적 SQL 오류 - 표현식 평가가 지원되지 않습니다. – DoLoop

답변

0

에 대한 쿼리입니다 : 여기

로드 코드입니다.

먼저 쓰기 (KATBRPRO LIKE @ID), 다음 FillBy 2 인자 소요됩니다 (데이터 집합 쿼리에서 변수 (@ID))하지만 내 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) 
관련 문제