2011-07-04 91 views
1

我的sql語句添加新員工的詳細信息返回@employeeID。我需要檢索此@employeeID以在我的viewprofile.asp.vb中顯示newly added employee的詳細信息。我該如何編碼VB以從SQL中檢索@employeeID,並在我的VB代碼中包含@employeeID變量,以便顯示我新添加的信息?如何在vb中從sql(企業管理器)中檢索@variable?

回答

0

在SQL Server查詢:

Select @employeeID = Ident_Current('employee table') 

在代碼隱藏:

employeeID = SqlCmd.ExecuteScalar().ToString(); 
0

<%@導入命名空間= 「System.Data」 %> <%@導入命名空間= 「System.Data.SqlClient的」 %>

<html> 
    <head><title>Using Stored Procedures With Output Parameters</title></head> 
    <body> 
    <form runat="server" method="post"> 
     Enter a State Code: 
     <asp:Textbox id="txtRegion" runat="server" /> 
     <asp:Button id="btnSubmit" runat="server" 
        Text="Search" OnClick="Submit" /> 
     <br/><br/> 
     <asp:label id="lblRecords" runat="server" /> 
     <br/><br/> 
     <asp:DataGrid id="dgOutput" runat="server" /> 
    </form> 
    </body> 
</html> 

<script language="VB" runat="server"> 
Sub Submit(Source As Object, E As EventArgs) 

    Dim strConnection As String = ConfigurationSettings.AppSettings("NWind") 
    Dim objConnection As New SqlConnection(strConnection) 
    Dim objCommand As New SqlCommand("sp_CustomersByStateWithCount",objConnection) 
    objCommand.CommandType = CommandType.StoredProcedure 

    Dim objParameter As New SqlParameter("@region", SqlDbType.NVarChar, 15) 
    objCommand.Parameters.Add(objParameter) 
    objParameter.Direction = ParameterDirection.Input 
    objParameter.Value = txtRegion.text 

    Dim objOutputParameter As New SqlParameter("@matches", SqlDbType.Int) 
    objCommand.Parameters.Add(objOutputParameter) 
    objOutputParameter.Direction = ParameterDirection.Output 

    objConnection.Open() 

    Dim objDataReader As SqlDataReader 
    objDataReader = objCommand.ExecuteReader() 

    dgOutput.DataSource = objDataReader 
    dgOutput.DataBind() 

    objCommand.Connection.Close() 
    objCommand.Connection.Open() 
    objCommand.ExecuteNonQuery() 
    lblRecords.Text = "Matches: " & CInt(objCommand.Parameters(1).Value) 

    objConnection.close() 
End Sub 
</script> 


--------------------------------------------------- 
Imports System 
Imports System.Data 
Imports System.Data.SqlClient 

Module Module1 
    Sub Main() 
     Dim cn As SqlConnection 
     Dim sql As String 
     Dim cmd As SqlCommand 

     cn = New SqlConnection("Data Source=PEREGRINE;" & _ 
           "Initial Catalog=Northwind;Integrated Security=SSPI") 
     cn.Open() 
     sql = "CREATE PROCEDURE sp_CustomersByStateWithCount @region nvarchar(15), @matches int OUTPUT AS " & _ 
       "SELECT CustomerID, CompanyName FROM Customers WHERE region = @region ORDER BY CompanyName " & _ 
       "SET @matches = @@rowcount" 
     cmd = New SqlCommand(sql, cn) 
     cmd.ExecuteNonQuery() 
     Console.WriteLine("Procedure created!") 
    End Sub 
End Module 
相關問題