【发布时间】:2011-07-21 12:47:40
【问题描述】:
我正在尝试使用 SQL 中的简单 SELECT 语句从数据库中检索一些行并将它们显示在数据网格中,现在我要做的是将检索到的值与某个因子相乘,然后显示它。我正在尝试通过以下方式实现它:
我已将 PerDoseSize1 声明为从函数获取其值的双变量。我不能这样做。 它给了我一个错误,说“PerDoseSize1 不是有效的列”
public void FillDG1(string Chemical_Name0, string Chemical_Name1, string Chemical_Name2, string Chemical_Name3,double PerDoseSize1)
{
objDs.Clear();
string connString ="Data Source=dk1;Integrated Security=True";
SqlConnection con = new SqlConnection(connString);
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "SELECT [Chemical Name],([GWP])*(perdosesize) AS GlobalWarming, ([ODP])*(perdosesize) AS OzoneDepletion, [WDP] AS WaterDepletion ,[FDP] AS FossilDepletion FROM [Surfactants$] WHERE ([Chemical Name] IN ( @ChemicalName0, @ChemicalName1,@ChemicalName2 ,@ChemicalName3)) ";
cmd.Parameters.AddWithValue("@ChemicalName0",Chemical_Name0);
cmd.Parameters.AddWithValue("@ChemicalName1", Chemical_Name1);
cmd.Parameters.AddWithValue("@ChemicalName2", Chemical_Name2);
cmd.Parameters.AddWithValue("@ChemicalName3", Chemical_Name3);
cmd.Parameters.AddWithValue("@perdosesize", PerDoseSize1);
SqlDataAdapter dAdapter = new SqlDataAdapter();
dAdapter.SelectCommand = cmd;
dAdapter.Fill(objDs);
DataTable myDataTable = objDs.Tables[0];
DG1.DataContext = objDs.Tables[0].DefaultView;
cmd.ExecuteNonQuery();
MessageBox.Show(ChemicalName0,ChemicalName1);
con.Close();
}
它似乎仍然不起作用,它仍然是错误的吗?请帮忙!
【问题讨论】:
标签: wpf datagrid c#-to-vb.net sql