在 C# 中使用 SQL 读取数据库单元格小数时,可能会遇到列名无效的错误。

问题原因:

  • 变量 MeasurementPointsNameProductionProductNum 中的列名与数据库表中的列名不匹配。
  • 在 SQL 语句中没有正确引用这些变量。

解决方法:

  1. 检查变量 MeasurementPointsNameProductionProductNum 的值,确保它们与数据库表中的列名一致。
  2. 确保在 SQL 语句中正确引用这些变量。可以使用字符串插值或参数化查询来避免 SQL 注入风险。

示例代码:

string sqls = $'select {MeasurementPointsName} from {MeasurementPointDataRecordTable}{production} where {ProductionProductNum} = {product}';
SqlDataReader reader = SqlConnector.ExecuteReader(sqls);
while (reader.Read())
{
    decimal value = reader.GetDecimal(0);
    series1.Points.AddXY(product, value);
}

建议:

  • 为了提高代码可读性和可维护性,建议使用参数化查询。
  • 始终检查数据库表中的列名,确保它们与代码中使用的变量一致。

示例代码:

string sqls = 'select Column1 from MyTable where ProductNum = @product';
using (SqlCommand cmd = new SqlCommand(sqls, connection))
{
    cmd.Parameters.AddWithValue('@product', product);
    SqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
        decimal value = reader.GetDecimal(0);
        series1.Points.AddXY(product, value);
    }
}

通过以上步骤,可以有效地解决 C# 访问数据库 SQL 读取单元格小数时列名无效的问题。

C# 访问数据库 SQL 读取单元格小数:列名无效问题

原文地址: https://www.cveoy.top/t/topic/mYhN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录