C# 访问数据库 SQL 读取单元格小数:列名无效问题
在 C# 中使用 SQL 读取数据库单元格小数时,可能会遇到列名无效的错误。
问题原因:
- 变量
MeasurementPointsName和ProductionProductNum中的列名与数据库表中的列名不匹配。 - 在 SQL 语句中没有正确引用这些变量。
解决方法:
- 检查变量
MeasurementPointsName和ProductionProductNum的值,确保它们与数据库表中的列名一致。 - 确保在 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 读取单元格小数时列名无效的问题。
原文地址: https://www.cveoy.top/t/topic/mYhN 著作权归作者所有。请勿转载和采集!