2016-06-09 88 views
0

我正在使用Windows Form Application使用Oracle数据库执行图形用户界面。 我试图绑定到我的UI中的一个标签oracle命令的结果。 这是我的代码:oracle命令的结果

  OracleCommand cmd = conn.CreateCommand(); 
      string city = comboBox1.SelectedItem.ToString(); 
      cmd.CommandText ="select c.companynum,c.namec from flight f, company c where f.companynum=c.companynum AND f.name1=&param1 order by f.name1;"; 
      cmd.Parameters.AddWithValue("param1", city); 
      cmd.Parameters.Add("result", OracleType.VarChar, 200); 
      cmd.Parameters["result"].Direction = ParameterDirection.ReturnValue; 
      try 
      { 
       cmd.ExecuteNonQuery(); 
       if (cmd.Parameters["result"].Value.ToString() == "") 
        label2.Text = "No destinations."; 
       else 
        label2.Text = cmd.Parameters["result"].Value.ToString(); 
       da.SelectCommand.Parameters.Clear(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message, "Exception Caught"); 
      } 

但它运行时,有一个例外:ORA-01036:非法的变量名/编号。

我不知道如何解决我的代码? 注:对于我的作业,我必须在这里使用'&'方法。

+0

ExecuteNonQuery命令用于更新SQL表,使用数据集和数据适配器来获取数据(或数据读取器)。 – Chuck

回答

0

也许是做了一点误会.. :)

我认为你的家庭作业的原始跟踪意图,它应该建立在那里投入您已经传递到了选择SQL语句的存储过程命令。

存储过程应该有2个参数: “城市” 和 “结果”;)

好功课!