2017-02-22 3 views
-2
  SqlConnection tr = new SqlConnection("Data source =MR-GHOST\\SQLEXPRESS ; DataBase =trdatabase; Integrated Security= true;"); 
      SqlCommand cmd; // بمكننا من تعدبل على الداتا حذف اضاقة تعديل من خلال برنامج 
      SqlDataReader red; 

      private void button5_Click(object sender, EventArgs e) 
      { 
      try 
      { 
       cmd = new SqlCommand("Select Title , Author , Publish_date ,pages From books_tables Where ID='"+textBox1+"'",tr); 
       // select هو الاستعلام الخاص ب البحث 
       tr.Open(); 
       red = cmd.ExecuteReader(); //نربط داتا ريدر ب سمد لتنفيد الكوموند 
       red.Read(); // نفوم ب عملبة القراءة 
       textTitle.Text = red["Title"].ToString(); 
       textAuthor.Text = red["Author"].ToString(); 
       textdate.Text = red["publish_date"].ToString(); 
       textpages.Text = red["pages"].ToString(); 
      } 
      catch(SqlException pro) 
      { 
       MessageBox.Show(pro.Message,"error",MessageBoxButtons.OK,MessageBoxIcon.Error); 
      } 
      finally 
      { 
       tr.Close(); 
       red.Close(); 
      } 
+2

Basierend auf dem, was Sie zur Verfügung gestellt haben, möchten Sie wahrscheinlich textBox1.Text verwenden, das sagte ich würde in parametrisierten SQL als was Sie gerade tun, ist nicht eine sehr gute Praxis. –

Antwort

0

textBox1 ist ein Objekt vom Typ TextBox.

Wenn Sie eine Zeichenfolge mit einem Objekt hinzufügen, wird automatisch die entsprechende .ToString -Methode für dieses Objekt aufgerufen. In diesem Fall wird etwa "System.Windows.Forms.TextBox, Text: " zurückgegeben.

So sieht Ihr Befehl wie, "SELECT ... ID='System.Windows.Forms.TextBox, Text: [WITHYOURTEXTHERE]'"

Sie sollten textBox1.Text stattdessen verwenden.

Verwandte Themen