Invoking CLR stored procedures

前端 未结 5 1618
广开言路
广开言路 2021-01-16 15:08

In short, where can I find C#/VB client side sample code that calls CLR stored procedure with some argumnet [like a sqlxml data] and receives a datareader or other f

相关标签:
5条回答
  • 2021-01-16 15:15
      // Create a record object that represents an individual row, including it's metadata.
          SqlDataRecord record = new SqlDataRecord(new SqlMetaData("stringcol", SqlDbType.NVarChar, 128));
    
          // Populate the record.
          record.SetSqlString(0,( "Hello World!" + System.DateTime.Now));
    
          // Send the record to the client.
          SqlContext.Pipe.Send(record);
    
    0 讨论(0)
  • 2021-01-16 15:18

    I know that I have usually created a regular T-SQL stored procedure which calls my CLR functions or stored procs. Then they can be treated just like all other stored procs.

    0 讨论(0)
  • 2021-01-16 15:22
    string connectionString = ConfigurationManager.AppSettings["ConnectDB"];
            SqlConnection sn = new SqlConnection(connectionString);
            SqlParameter[] sqlParameters = new SqlParameter[1];
            sn.Open();
            SqlCommand dCmd = new SqlCommand("dbo.HelloWorld", sn);
            dCmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader rdr = null;
            rdr = dCmd.ExecuteReader();
            while (rdr.Read())
                {
                for (int i = 0; i < rdr.FieldCount; i++)
                    Response.Write(rdr[i]);
                }
            sn.Close();
            }
    
    0 讨论(0)
  • 2021-01-16 15:33

    Just the same way you call ordinary stroed procedures. May be...

    EXEC StoredProcedure1
    

    I wrote a blog long back - Write your first SQL Server CLR Stored Procedure

    0 讨论(0)
  • 2021-01-16 15:34
    // run a stored procedure that takes a parameter
        public void RunStoredProcParams()
        {
            SqlConnection conn = null;
            SqlDataReader rdr  = null;
    
            // typically obtained from user
            // input, but we take a short cut
            string custId = "FURIB";
    
            Console.WriteLine("\nCustomer Order History:\n");
    
            try
            {
                // create and open a connection object
                conn = new 
                    SqlConnection("Server=(local);DataBase=Northwind;Integrated Security=SSPI");
                conn.Open();
    
                // 1.  create a command object identifying
                //     the stored procedure
                SqlCommand cmd  = new SqlCommand(
                    "dbo.CustOrderHist", conn);
    
                // 2. set the command object so it knows
                //    to execute a stored procedure
                cmd.CommandType = CommandType.StoredProcedure;
    
                // 3. add parameter to command, which
                //    will be passed to the stored procedure
                cmd.Parameters.Add(
                    new SqlParameter("@CustomerID", custId));
    
                // execute the command
                rdr = cmd.ExecuteReader();
    
                // iterate through results, printing each to console
                while (rdr.Read())
                {
                    Console.WriteLine(
                        "Product: {0,-35} Total: {1,2}",
                        rdr["ProductName"],
                        rdr["Total"]);
                }
            }
            finally
            {
                if (conn != null)
                {
                    conn.Close();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }
            }   
        }
    }
    
        enter code here
    
    0 讨论(0)
提交回复
热议问题