我已经在这几个小时了,不能休息一下.我正在用C#编写这个程序,它连接到数据库并在每次有新的传感器读数时写入新的行.将新行写入DB的Function片段如下所示.
当我运行我的代码时,我继续得到以下运行时错误:
System.Data.SqlClient.SqlException(0x80131904):必须声明标量变量"@dbSpeed".
当我从使用常规旧数组切换到Dictionary时,我开始遇到这个问题,但我不确定是什么原因.
private void WriteDataRowtoSQL(Dictionary<string, double> dataPoints)
{
//SQL Database Connection String.
string dataSource = @"Data Source=TSCRPC\TSCRPCDB;Initial Catalog=TSCRPCDB;Integrated Security=True";
//SQL Database Query Command Build to insert sensor data as rows.
string sensorDataRowItems = "(Date,Time,Mac_State,S_GainStatus,S_Speed,S_Direction,S_Temperature,S_Humidity,S_PowerOutput,S_Current,S_Voltage,S_EngineRPM,S_NoiseLevel,S_BatteryVolts,S_TorkStrain1,S_TorkStrain2,S_WheelStrain,S_Vibration1,S_Vibration2,S_BreakPressure)";
string cmdString = "INSERT INTO SensorData " + sensorDataRowItems + " VALUES (@dbDate, @dbTime, @dbMacState, @dbGainStatus, @dbSpeed, @dbDirection, @dbTemperature, @dbHumidity, @dbPowerOutput, @dbCurrent, @dbVoltage, @dbEngineRPM, @dbNoiseLevel, @dbBatteryVolts, @dbTorkStrain1, @dbTorkStrain2, @dbWheelStrain, @dbVibration1, @dbVibration2, @dbBreakPressure)";
//Connect to and use SQL DB.
using (SqlConnection sqlConn = new SqlConnection(dataSource)) …Run Code Online (Sandbox Code Playgroud)