在网上找了一下资料,大概的执行代码是这样的: Conn.Open(); 
OdbcCommand cmd=new OdbcCommand(); 
cmd.Connection=Conn; 
cmd.CommandType=CommandType.StoredProcedure; 
cmd.CommandText="数据库名.dbo.存储过程名 ?,?,?"; OdbcParameter Para1=cmd.Parameters.Add("@para1",OdbcType.VarChar); 
Para1.Direction=ParameterDirection.Input; 
Para1.Value=value1; OdbcParameter Para2=cmd.Parameters.Add("@para2",OdbcType.VarChar); 
Para2.Direction=ParameterDirection.Input; 
Para2.Value=value2; OdbcParameter Para3=cmd.Parameters.Add("@para3",OdbcType.VarChar); 
Para3.Direction=ParameterDirection.Input; 
Para3.Value=value3; cmd.NonQuery(); 
cmd.Dispose(); 
Conn.Close(); Conn.Dispose(); 
就是不明白cmd.CommandText="数据库名.dbo.存储过程名 ?,?,?"; 这一行是什么意思,请各位大侠给出示例代码。谢谢!

解决方案 »

  1.   

    这个是执行存储过程,就是存储过程名create proc  aaa
    ...
    然后这里就是aaa
    数据库名.dbo.是前缀,类似于命名空间
      

  2.   

    如果存储过程里面又output,那么C#执行存储过程后返回什么呢?
    output那个变量也需要在C#程序里面给她传值过去吗?
      

  3.   

    不需要传值,但是必须得声明类型,不然系统是无法知道这个变量是做什么的,示例代码如下SqlParameter baoid = new SqlParameter("@id",SqlDbType.Int,4);
                    baoid.Direction = ParameterDirection.Output;
                    theCommand2.Parameters.Add(baoid);
                    theCommand2.ExecuteNonQuery();
                    string id = baoid.Value.ToString();
      

  4.   

    cmd.CommandText="数据库名.dbo.存储过程名 ?,?,?"; 在数据库中建立存储过程 ,然后在程序中指定存储过程名,和数据就可以了