在查询分析器里下面的均可执行,有数据:
exec dbinformation.dbo.asp_zhyw_YE '2005/03/15'
exec dbinformation..asp_zhyw_YE '2005/03/15'
exec zakj.dbinformation.dbo.asp_zhyw_YE '2005/03/15'在程序里执行没任何数据(下面的程序调用connectstring里的数据库中的存取过程没问题):
Dim sqlCM As New SqlCommand("dbinformation..asp_zhyw_YE", cnn)
Dim sqlDA As New SqlDataAdapter
Dim ds As New DataSet
Dim sqlCB As SqlCommandBuilder
Dim sqlPM As SqlParameter
sqlCM.CommandType = CommandType.StoredProcedure
......Dim sqlCM As New SqlCommand("dbinformation..asp_zhyw_YE", cnn)这里该怎么写?

解决方案 »

  1.   

    string connstr=System.Configuration.ConfigurationSettings.AppSettings["sqllink"];
    SqlConnection conn=new SqlConnection(connstr); SqlCommand cmd = new SqlCommand("PRO_USRACT_ADDNEW",conn);          //添加用户(PRO_USRACT_ADDNEW为存储过程的名字)
    SqlCommand cmd1=new SqlCommand("PRO_ALMEVTTJ_INIT",conn); //执行存储过程(PRO_ALMEVTTJ_INIT)
    SqlCommand cmd2=new SqlCommand("PRO_REG23MOD_INTOUSRACT",conn);     //执行存储过程(PRO_REG23MOD_INTOUSRACT)
    try
    {
    conn.Open();
    cmd.CommandType = CommandType.StoredProcedure; //是存储过程
    cmd1.CommandType=CommandType.StoredProcedure;
    cmd2.CommandType=CommandType.StoredProcedure; cmd.Parameters.Add("@ACTID",this.txtactid.Text.Trim()); //为命令行添加参数
    cmd.Parameters.Add("@GRPID",this.txtgrpid.Text.Trim());
    cmd.Parameters.Add("@MODNAME","");
    cmd.Parameters.Add("@CONTACT_ID",this.DropDownList2.SelectedItem.Text.ToString());
    cmd.Parameters.Add("@PNLTYPE",this.actidgrpid.Text.Trim());
    cmd.Parameters.Add("@DEPARTMENT",""); cmd1.Parameters.Add("@ALMEVTTJ_N","");
    cmd2.Parameters.Add("@ACTID",this.txtactid.Text.Trim());
    cmd2.Parameters.Add("@MODNAME",""); cmd.ExecuteNonQuery(); //执行
    cmd1.ExecuteNonQuery();
    cmd2.ExecuteNonQuery();
    }
    catch(Exception ex)
    {
    Response.Write(ex.Message);
    }
    finally
    {
    conn.Close();
    }
      

  2.   

    up
    to:blackhero(黑侠客) 文不对题.
      

  3.   

    问:Dim sqlCM As New SqlCommand("dbinformation..asp_zhyw_YE", cnn)这里该怎么写?答:你的cnn是连接的A数据库,而存储过程连接的是B数据库吧,这样打开当然是有问题的了    你可以在定义一个cnn_others连接B数据库
      

  4.   

    To:BraveXu(鱼之乐) 
    是的,但是运行sql可以用"select * from dbname..tbname" 可以跑的,ASP.NET不会土到运行存储过程非要是cnn连接的数据库吧,晕!没人知道吗??
      

  5.   

    这样作:
    在你自己的库里,建个 存储过程,比如 A
    Create Procedure A
    @inDate datetime
    ASEXEC dbinformation..asp_zhyw_YE @inDate然后,在你程序里,这样调用:
    Dim sqlCM As New SqlCommand("A", cnn)
    .......
      

  6.   

    这个不是土不土的问题,是安全不安全的问题
    在查询分析器中因为你是受信用户,连接其他库是可行的
    在ASP.NET中不可能任何数据库都是可以连接的啦,那也太不安全了吧??
      

  7.   

    '可以调用示例如下         '在 master 和 model 两个数据库中分别建立存储 test1 ,test2 
            '连接使用 无数据库连接
            Dim cn As New SqlClient.SqlConnection("workstation id=SUPER;packet size=4096;user id=sa;data source=SUPER;persist security info=False")
            Dim cmd As New SqlClient.SqlCommand
            cn.Open()
            cmd.Connection = cn
            cmd.CommandText = "master.dbo.test1" '在master 中的 test1 存储
            MsgBox(cmd.ExecuteScalar())  '从存储中返回内容        cmd.CommandText = "model.dbo.test2" '在model 中的 test2 存储
            MsgBox(cmd.ExecuteScalar())  '从存储中返回内容        cn.Close()
            cn.Dispose()
      

  8.   

    Dim cn As New SqlClient.SqlConnection("workstation id=SUPER;packet size=4096;user id=sa;data source=SUPER;persist security info=False")
            Dim cmd As New SqlClient.SqlCommand
            cn.Open()
            cmd.Connection = cn
            cmd.CommandText = "master.dbo.test1" '在master 中的 test1 存储
            MsgBox(cmd.ExecuteScalar())  '从存储中返回内容        cmd.CommandText = "model.dbo.test2" '在model 中的 test2 存储
            MsgBox(cmd.ExecuteScalar())  '从存储中返回内容        cn.Close()
            cn.Dispose()
      

  9.   

    晕,  zipo(知其然,不知其所以然!)  干吗复制我的贴,只字未改