Skip to main content

Retrieve Stored Procedure's parameters using SMO

 

I was trying to find something that I could use to retrieve stored procedure's parameters so that I won't have to write out the statements for my sproc parameters  every time I have to create one. Here is something that I just did to create statements to add parameters for stored procedures that could be copied over and dumped in a method.

using System;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;


namespace SMOApp
{
class Program
{
static void Main(string[] args)
{
ServerConnection conn = new ServerConnection("_dev");
conn.LoginSecure = true;
//conn.Login = "";
//conn.Password = "";
Server svr = new Server(conn);

Database myDB = svr.Databases["_TOOLS"];

foreach (StoredProcedure sp in myDB.StoredProcedures)
{
if (sp.Name == "s_insert")
{
Console.WriteLine("public static IDataReader SelectRecords(string userEmail)");
Console.WriteLine("{");
Console.WriteLine("string sqlCommand = \"" + sp.Name + "\";");
Console.WriteLine("DbCommand dbCommandWrapper = database.db.GetStoredProcCommand(sqlCommand);");
foreach (StoredProcedureParameter param in sp.Parameters)
{
Console.WriteLine(param.Name);

Console.WriteLine("database.db.AddInParameter(dbCommandWrapper, \"" + param +
"\", DBType." + param.DataType + ", " + param.ToString().Replace("@", "") + ");");


}
Console.WriteLine("return database.db.ExecuteReader(dbCommandWrapper);");
Console.WriteLine("}");
}
}
}

}

}
Post a Comment

Popular posts from this blog

Compact and Repair an Access Database. Add Ref. to : AdoDb, Jro

< ?xml version="1.0" encoding="utf-8" ?>









using ADODB;
using JRO;
using System.Configuration;
using System.Data.OleDb;
using System.IO;

public class CompactAndRepairAccessDb : System.Windows.Forms.Form
{
private System.ComponentModel.Container components = null;
private JRO.JetEngine jro;
private System.Windows.Forms.Button btnConfirm;
private System.Windows.Forms.TextBox tbxOriginalDbSize;
private System.Windows.Forms.TextBox tbxCompactedDbSize;
private OleDbConnection cnn;

public CompactAndRepairAccessDb() {
InitializeComponent();

FileInfo fi = new FileInfo( ConfigurationSettings.AppSettings["PathOriginal"] );
int s = Convert.ToInt32( fi.Length/1000 );
this.tbxOriginalDbSize.Text = s.ToString() + " kb";
}

private void btnConfirm_Click(object sender, System.EventArgs e) {
// First close all instances of the database
// MUST HAVE EXCLUS…

VBScript to Automate login into gmail

Dim IE
Dim uSERNAME
Dim PASSWORD
Dim crtScreen
Set IE = CreateObject("InternetExplorer.Application")
USERNAME = "saudaziz"
PASSWORD = ""

With IE
.navigate "http://www.gmail.com"
.visible=1
End With

'wait a while until IE as finished to load
Do while IE.busy
loop
set WshShell = WScript.CreateObject("WScript.Shell")
Do While UCase(IE.Document.readyState) <> "COMPLETE"
WScript.Sleep 100
DoEvents
Loop
set WshShell=nothing
IE.document.all.Item("Email").value = USERNAME
IE.document.all.Item("pASSWD").value =pASSWORD
'IE.document.gaia_loginform.Email.value=USERNAME
IE.document.all.item("null").click
Set IE = Nothing

WScript.Quit(0)