gpt4 book ai didi

c# - 从 C# 中选择 SQL Server 数据库中的特定记录

转载 作者:可可西里 更新时间:2023-11-01 13:16:52 25 4
gpt4 key购买 nike

我目前正在尝试使用 C# 从 SQL Server 数据库中获取一些符合以下条件的行:

  • 来自 RamResults 数据库
  • 结果表中
  • 其中 Date 列等于当前日期

到目前为止,我有以下内容:

// Open the same connection with the same connection string.
using (SqlCeConnection con = new SqlCeConnection(DatabaseControl.conString))
{
con.Open();
// Read specific values in the table.
using (SqlCeCommand com = new SqlCeCommand("SELECT Result FROM RamResults WHERE Date == @Form1.date", con))
{
SqlCeDataReader reader = com.ExecuteReader();
while (reader.Read())
{
int resultsoutput = reader.GetInt32(0);
MessageBox.Show(resultsoutput.ToString());
}
}
}

使用 SELECT Result FROM RamResults WHERE Date == Form1.date 会引发错误:

There was an error parsing the query. [ Token line number = 1,Token line offset = 43,Token in error = = ]

虽然如果我取出 WHERE 语句,例如

SELECT Result FROM RamResults

完美运行

最佳答案

描述

2 件事

  1. 使用 = 而不是 == 因为这是 T-SQL 中的正确等号运算符。你的查询应该是这样的

    从 RamResults 中选择结果,其中 Date = @Date

  2. 你忘了传入参数。

示例

// Open the same connection with the same connection string.
using (SqlCeConnection con = new SqlCeConnection(DatabaseControl.conString))
{
con.Open();
// Read specific values in the table.
using (SqlCeCommand com = new SqlCeCommand("SELECT Result FROM RamResults WHERE Date = @Date", con))
{
com.Parameters.AddWithValue("@Date", Form1.date);
SqlCeDataReader reader = com.ExecuteReader();
while (reader.Read())
{
int resultsoutput = reader.GetInt32(0);
MessageBox.Show(resultsoutput.ToString());
}
}
}

关于c# - 从 C# 中选择 SQL Server 数据库中的特定记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com