2013-03-01 3 views
0

У меня есть коды, которые отображают все данные в базе данных доступа. Возможно ли отображать только определенные или выбранные данные из моей базы данных?Отображение выбранных данных в datagridview

вот мой код:

string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\SISC-STRONGHOLD\MIS!\wilbert.beltran\SEEDBucksDbase.accdb"; 
string query = "SELECT * From TableAcct"; 
using (OleDbConnection conn = new OleDbConnection(connStr)) 
{ 
    using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn)) 
    { 
     DataSet ds = new DataSet(); 
     adapter.Fill(ds); 
     dataGridView1.DataSource = ds.Tables[0]; 
     dataGridView1.Columns["UserPassword"].Visible = false; 

    } 
    conn.Close(); 
} 

спасибо! :)

+0

Что вы подразумеваете под выбранными данными? Каковы критерии? Похоже, вам нужно предложение 'WHERE' в вашем выражении' SELECT'. Например, 'SELECT * FROM TableAcct WHERE Username = 'johndoe'' –

+0

@AdamPlocher - например. У меня есть таблица сотрудников, когда я ввожу последнее имя этого конкретного сотрудника в текстовое поле, затем нажмите кнопку поиска, он отобразит всю другую информацию, относящуюся к этому сотруднику, такую ​​как его имя, адрес и т. Д. – bhert

+0

Вся эта информация хранится в TableAcct Таблица? –

ответ

1

Чтобы запросить фамилию (предполагается, что столбец в таблице называется LastName), попробуйте следующее:

string query = "SELECT * FROM Employee WHERE LastName='"+ textBox1.Text +"'"; 

Конечно, вы должны быть осторожны атак SQL Injection. Я не знаком с использованием параметризованных запросов в Access.

Это общедоступная форма или только для вас (или доверенных пользователей)?

1

вам просто нужно записать where условие в запросе будет делать работу за вас,

Ниже приведен пример этого

string query = "SELECT col1,col2 From TableAcct where col1=value"; 

Это будет получать данные, которые удовлетворяют условию вы и связать с управление сеткой.

И вместо * в списке выбора укажите имя столбцов, которые вы хотите отобразить.

для получения контрольного значения формы, как текстовое поле

string query = "SELECT * FROM Employee WHERE LastName='"+ textBox1.Text +"'"; 

Примечание - использовать SqlParameter, чтобы избежать SQLInjection, прежде всего лишь пример.

+0

например. У меня есть таблица сотрудников, когда я ввожу «последнее имя» этого конкретного сотрудника в «текстовое поле», затем нажмите кнопку поиска, он отобразит всю другую информацию, относящуюся к этому сотруднику, такую ​​как его имя, адрес и т. Д. В datagridview :) – bhert

+0

@bhert - вы можете сделать это для этого "string query =" SELECT * FROM Employee WHERE LastName = '"+ textBox1.Text +"' ";" –

+0

спасибо за это. Он работает :) – bhert

0

string query = "SELECT (SelectedColumnNames) Из таблицыAcct, где LastName = (LastName)";

На основании поиска в * в запросе введите нужные столбцы для ex: - string query = "SELECT phno, address, FirstName from TableAcct где LastName = '" + txt1.text + "'";