1、怎样定义一个公共变量以便在系统的任何窗体下都可以进行存取?
  比如定义一个SqlConnection类型的变量在系统的任何地方可以进行访问。
2、怎样定义一个公共变量以便在系统的同一窗体下的任何地方都可以进行存取?
3、假设SQL server中有名为test的存储过程,怎样调用该过程并将返回的结果付给datagrid?
  Create procedure test (@f1 varchar(10), @f2 varchar(10)) 
  as   insert into t1 values (@f1,@f2)
  select * from t1
thanks
    

解决方案 »

  1.   

    1.定义一个基类存储常用较频繁变量
    2.本来窗体内成员对窗体内部就是公开的
    3.SqlCommand类有调用存储过程的方法
      

  2.   

    问题3: string sCata="Provider=\"SQLOLEDB.1\";workstation id=\"WJJ-ETGATE\";packet size=4096;user id=sa;integrated security=SSPI;data source=\"WJJ-ETGATE\";persist security info=False;initial catalog=数据库名";
    OleDbConnection sCnt=new OleDbConnection(sCata);
    sCnt.Open();
    string sqlStr="GetVegetables";
    OleDbCommand OleCmd=new OleDbCommand(sqlStr,sCnt);
    OleCmd.CommandType=CommandType.StoredProcedure;
    OleDbParameter sqlPter=OleCmd.Parameters.Add("@Kind",OleDbType.Char,20);
    sqlPter.Direction=ParameterDirection.Input;
    sqlPter.Value=参数值;
    OleDbDataAdapter sqlDap=new OleDbDataAdapter();
    sqlDap.SelectCommand=OleCmd;
    DataSet DS=new DataSet();
    sqlDap.Fill(DS);
    dataGrid1.DataSource=DS.Tables[0];
    sCnt.Close();
      

  3.   

    1.一般都在web.config中定义
    <appSettings>
    <add key="SiteSqlServer" value="server=localhost;database=Forums;uid=sa;pwd=sa" />
    </appSettings>
    2.定义一个窗体类成员就可以了
      

  4.   

    1.建一个公共类
    2.窗体内声明的成员变量就本开就是对窗体内部公开的...(窗体本身就是一个类)
    3.去msdn查查sqlcommand..上面有例子................(多查msdn)