无法将类型 'System.Collections.Generic.List<System.Data.SqlClient.SqlParameter>' 隐式转换为 'System.Data.SqlClient.SqlParameter'
Cannot implicitly convert type 'System.Collections.Generic.List<System.Data.SqlClient.SqlParameter>' to 'System.Data.SqlClient.SqlParameter'
对于代码:
sqlParameter = parameterSettings.GetParameters<T>(table, config);
我收到错误消息:
Error 1 Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Data.SqlClient.SqlParameter' C:\Users\jonathan.cameron\Documents\Visual Studio 2013\Projects\DataGenerator\DataGenerator\Methods\Query.cs 99 28 DataGenerator
GetParameters 的方法签名:
public List<SqlParameter> GetParameters<T>(T table, Config config)
剩下的代码
public int RunInsertQuery<T>(bool returnPrimary, SqlCommand cmd, Config config,
ParameterSettings parameterSettings, SqlParameter sqlParameter,
T table)
{
// Used to create an INSERT Query
Query query = new Query();
// Pass item that needs to be inserted into SQL
cmd.CommandText = query.InsertQuery<T>(table, config);
// If the primary key needs to be returned...
if(returnPrimary == true)
{
cmd.CommandText += "SELECT CAST(scope_identity() AS int)";
}
// Obtain column names/data types/values into the SqlParameter object
sqlParameter = parameterSettings.GetParameters<T>(table, config);
// Check for null in Sql Parameter values, apply DBNull.Value, return parameters to
// SqlCommand instance
cmd.Parameters.AddRange(parameterSettings.NullValueCheck(sqlParameter).ToArray());
// if returnPrimary is truen, return the primary key while executing
// the sql parameter
if (returnPrimary)
{
return (int)cmd.ExecuteScalar();
}
else
cmd.ExecuteNonQuery();
return 1;
}
GetParameters
方法 return 是一个 List
,因此不能分配给 SqlParameter
字段。此字段需要是 List<SqlParameter>
类型,或者您需要 select 来自 GetParameters
方法的 return 值的一个值。
对于代码:
sqlParameter = parameterSettings.GetParameters<T>(table, config);
我收到错误消息:
Error 1 Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Data.SqlClient.SqlParameter' C:\Users\jonathan.cameron\Documents\Visual Studio 2013\Projects\DataGenerator\DataGenerator\Methods\Query.cs 99 28 DataGenerator
GetParameters 的方法签名:
public List<SqlParameter> GetParameters<T>(T table, Config config)
剩下的代码
public int RunInsertQuery<T>(bool returnPrimary, SqlCommand cmd, Config config,
ParameterSettings parameterSettings, SqlParameter sqlParameter,
T table)
{
// Used to create an INSERT Query
Query query = new Query();
// Pass item that needs to be inserted into SQL
cmd.CommandText = query.InsertQuery<T>(table, config);
// If the primary key needs to be returned...
if(returnPrimary == true)
{
cmd.CommandText += "SELECT CAST(scope_identity() AS int)";
}
// Obtain column names/data types/values into the SqlParameter object
sqlParameter = parameterSettings.GetParameters<T>(table, config);
// Check for null in Sql Parameter values, apply DBNull.Value, return parameters to
// SqlCommand instance
cmd.Parameters.AddRange(parameterSettings.NullValueCheck(sqlParameter).ToArray());
// if returnPrimary is truen, return the primary key while executing
// the sql parameter
if (returnPrimary)
{
return (int)cmd.ExecuteScalar();
}
else
cmd.ExecuteNonQuery();
return 1;
}
GetParameters
方法 return 是一个 List
,因此不能分配给 SqlParameter
字段。此字段需要是 List<SqlParameter>
类型,或者您需要 select 来自 GetParameters
方法的 return 值的一个值。