Hej,
Jag skall deklarera parameter för att kunna hämta selekterad data från en sql-db.
Men jag får meddelande att:
Must declare the variable '@City'.
Trodde det var det jag gjorde i metoderna AddParameters och setParameters
Jag anropar DbRead från webbsidans codeBehind och dbRead skall vara generell och ta emot anrop från alla håll på webbplatsen.
Kan någon se vad felet är?
public DataTable DbRead(string sqlString, string parameter, string value, DbType dbType)
{
SqlConnection dbConnection = CreateConnection();
IDbCommand cmd = dbComm.CreateCommand(sqlString);
AddParameter(cmd, parameter, dbType);
dbConnection.Open();
SetParameter(cmd, parameter, value);
SqlCommand read = new SqlCommand(sqlString, dbConnection);
DataTable dataTable = new DataTable();
dataAdapter.SelectCommand = read;
//här får jag fel Must declare the variable '@City'.
dataAdapter.Fill(dataTable);
dbConnection.Close();
return dataTable;
}
private System.Data.IDbCommand CreateCommand(string query)
{
return new SqlCommand(query);
}
private void AddParameter(IDbCommand cmd, string name, DbType type)
{
IDbDataParameter param = cmd.CreateParameter();
param.ParameterName = name;
param.DbType = type;
cmd.Parameters.Add(param);
}
private void SetParameter(IDbCommand cmd, string name, object value)
{
(cmd.Parameters\[name\] as IDbDataParameter).Value = value;
}