C# 无法将类型“object”隐式转换为“System.Data.SqlClient.SqlParameter”。存在显式转换(是否缺少强制转换?)

C# 无法将类型“object”隐式转换为“System.Data.SqlClient.SqlParameter”。存在显式转换(是否缺少强制转换?),c#,asp.net,ajaxcontroltoolkit,bar-chart,C#,Asp.net,Ajaxcontroltoolkit,Bar Chart,我正在尝试使用ajax控件工具包在我的网页上显示条形图。但它显示了一个错误,即不能将类型“object”隐式转换为“System.Data.SqlClient.SqlParameter”。存在显式转换。是否缺少强制转换?请帮帮我。代码如下: 代码: 在该语句中,新的SqlParameter…Value=x;解析为x,而不是参数本身。您必须将其分解为两个单独的语句,如: prms[0] = new SqlParameter("@site_name", SqlDbType.NVarChar); pr

我正在尝试使用ajax控件工具包在我的网页上显示条形图。但它显示了一个错误,即不能将类型“object”隐式转换为“System.Data.SqlClient.SqlParameter”。存在显式转换。是否缺少强制转换?请帮帮我。代码如下:

代码:

在该语句中,新的SqlParameter…Value=x;解析为x,而不是参数本身。您必须将其分解为两个单独的语句,如:

prms[0] = new SqlParameter("@site_name", SqlDbType.NVarChar);
prms[0].Value = ddlCountries.SelectedItem.Value.ToString();
prms[0] = new SqlParameter("@site_name", SqlDbType.NVarChar);
prms[0].Value = ddlCountries.SelectedItem.Value.ToString();
或使用初始值设定项语法:

prms[0] = new SqlParameter("@site_name", SqlDbType.NVarChar) { Value = ddlCountries.SelectedItem.Value.ToString() };
换成这个

prms[0] = new SqlParameter("@site_name", SqlDbType.NVarChar) { Value = ddlCountries.SelectedItem.Value.ToString() };
prms[0] = new SqlParameter("@site_name", SqlDbType.NVarChar);
prms[0].Value = ddlCountries.SelectedItem.Value.ToString();