0
我目前在C#中构建应用程序。在这个应用程序中,人们给出标签中的值,并将这些值保存在数据库中。这也适用于此刻。我想要的是以下内容:datagridview的自定义查询
人们可以在datagridview中看到自己的值。如果我使用datagridview的向导来做到这一点,我不能选择label2.Text(这是客户ID)。
我下面使用的查询如下:
SELECT * FROM prestaties WHERE gebruikerid = '" + label1.Text + "'";
但它不工作。我在我的数据网格中看不到任何东西。
对不起,我的英语不好。我希望你能理解我。
下面我已经有了代码,但它不工作
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();
}
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –
您注释掉了这一行:'//dataGridView1.DataSource = ds.tables [0];'。附注:SQL注入,使用参数。而不是查询数据库,您可以改为使用DataView。 – LarsTech
是的,我评论说,因为它不适用于该行。 – haassiej