2013-03-28 4 views
0

В настоящее время я создаю приложение на C#. В этом приложении люди дают значения в метке и что значения будут сохранены в базе данных. Это также работает на данный момент. Я хочу следующее:пользовательский запрос для datagridview

Люди могут видеть свои собственные значения еще в datagridview. Если я сделаю это с помощью мастера datagridview, я не могу выбрать label2.Text (это идентификатор customerID).

Запрос я использовал ниже следующее:

SELECT * FROM prestaties WHERE gebruikerid = '" + label1.Text + "'"; 

Но это не работает. Я ничего не вижу в своем datagrid.

Извините за мой плохой английский. Надеюсь, ты меня поймешь.

ниже код у меня уже есть, но он не работает


using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Linq; 
    using System.Text; 
    using System.Windows.Forms; 

    using System.Data.OleDb; 

    namespace Eindopdracht 
    { 
     public partial class resultaten : Form 
     { 
      public resultaten() 
      { 
       InitializeComponent(); 
       dataGridView1.Show(); 

          } 


      private string username; 

      public void displaydata(String ddata) 
      { 

       OleDbConnection conn = new OleDbConnection(@"provider= microsoft.jet.oledb.4.0;data source=C:\\Users\\Jeffrey\\Desktop\\Eindopdracht WOE\\Eindopdracht\\sample.mdb"); 
       string select = "SELECT * FROM prestaties WHERE gebruikerid = '" + label2.Text + "'"; 

       conn.Open(); 
       OleDbDataAdapter dataAdapter = new OleDbDataAdapter(select, conn); 
       DataSet ds = new DataSet(); 
       dataAdapter.Fill(ds); 
       dataGridView1.DataSource = ds.tables[0]; 
       conn.Close(); 
      } 





       public void setUsername(String name) 
      { 
       username = name; 

       label1.Text = username; 
       setID(); 
      } 

      public void setID() 
      { 
       OleDbConnection vcon = new OleDbConnection(@"provider= microsoft.jet.oledb.4.0;data source=C:\\Users\\Jeffrey\\Desktop\\Eindopdracht WOE\\Eindopdracht\\sample.mdb"); 
       string selectie = "SELECT id FROM inlog WHERE Username='" + label1.Text + "'"; 

       OleDbCommand vcom1 = new OleDbCommand(selectie, vcon); 
       vcon.Open(); 
       vcom1.ExecuteNonQuery(); 

       OleDbDataReader dr = null; 
       dr = vcom1.ExecuteReader(); 
       while (dr.Read()) 
       { 
        var waarde = dr.GetValue(0); 
        label2.Text = waarde.ToString(); 


       } 
+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

Вы прокомментировали эту строку: '//dataGridView1.DataSource = ds.tables [0];'. Боковое примечание: SQL Injection, используйте параметры. Вместо запроса к базе данных вы можете использовать DataView. – LarsTech

+0

Да, я прокомментировал это, потому что он не работает и с этой линией. – haassiej

ответ

0

Я не знаю, если мой код 100% правильно. Я построил это сам. Если я использую класс displayData в начале, начинающемся с InitializeComponent();, я получаю сообщение об ошибке.

Смежные вопросы