0

我正在构建 ac# 应用程序以将数据库中的数据显示到 datagridview 中。每个用户都在第一个窗口中登录。然后用户可以注册他的数据或者可以看到他已经注册的数据。

但如果用户登录,他有一个用户标识。如何仅显示具有用户 ID 的数据对应?

我目前有这个,但它不起作用。我看到所有用户的所有数据。

SELECT Id, gebruikerid, datum, afstand, tijd FROM prestaties
WHERE gebruikerid = '" + label1.Text + "'

userid 的值保留在 label1 中。这个值是一个变量

通过从 datagridview 向导在查询生成器中输入查询,我得到查询不正确的错误。

4

1 回答 1

0

尽管这篇文章是 2 年前的,但无论如何我都会给你答案。

在查询中使用 SQL 参数@

SELECT Id, gebruikerid, datum, afstand, tijd FROM prestaties
WHERE gebruikerid = @userid

然后右键单击“FillBy”按钮并选择“查看代码”:

在此处输入图像描述

然后您将看到此事件处理程序:

private void fillBy1ToolStripButton_Click(object sender, EventArgs e)
{
    try
    {
        this.yourSqlAdapter.FillBy1(this.yourDatabaseDataSet.prestaties, ((int)(System.Convert.ChangeType(testToolStripTextBox.Text, typeof(int)))));
    }
    catch (System.Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

现在,替换testToolStripTextBox.Text为您label1.Text的值,您的值label1.Text将用作 SQL 查询中的参数。

于 2015-05-18T23:22:27.467 回答