我在此代码中遇到此问题:

using (MySqlCommand command = connection.CreateCommand())
{
    command.CommandText = "SELECT * FROM Patients WHERE taj = @taj";

    command.Parameters.AddWithValue("taj", DbType.String).Value = patient.Taj;

    using (MySqlDataReader reader = command.ExecuteReader())
    {
        List<Patient> patients = ReadPatientsFromReader(reader);

        if (patients.Count > 0)
        {
            rvFound = patients[0];
        }
    }
}


我尝试了一些建议,例如使用“?”插入“ @”或尝试不连接命令字符串。现在我被卡住了。
感谢您的帮助。

The Error i got

最佳答案

public SqlParameter AddWithValue(
    string parameterName,
    Object value
)


第一个参数是您的参数名称,因此应为:

AddWithValue("@taj", value)


资源:
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.addwithvalue%28v=vs.110%29.aspx

10-08 13:27