我这里有代码显示访问数据库中的所有数据。是否可以仅显示我的数据库中的特定数据或选定数据?
这是我的代码:
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 :(得分:1)
你只需要在你的查询中记下where
条件就可以了,
以下是它的例子
string query = "SELECT col1,col2 From TableAcct where col1=value";
这将获取满足您条件的数据并与网格控件绑定。
而不是选择列表中的*
,而是提供要显示的列的名称。
获取值格式控件,如文本框
string query = "SELECT * FROM Employee WHERE LastName='"+ textBox1.Text +"'";
注意 - 使用sqlparameter来避免SQLInjection,上面只是一个例子。
答案 1 :(得分:1)
要查询姓氏(假设表中的列名为LastName),请尝试:
string query = "SELECT * FROM Employee WHERE LastName='"+ textBox1.Text +"'";
当然,您必须小心SQL注入攻击。我不熟悉在Access中使用参数化的查询。
这是公共表单,还是仅供您(或可信用户)使用的内部表单?
答案 2 :(得分:0)
string query =“SELECT(SelectedColumnNames)From TableAcct Where LastName =(LastName)”;
在查询中使用*搜索而不是在前面输入所需的列: - string query =“SELECT phno,address,FirstName From TableAcct where LastName ='”+ txt1.text +“'”;