繁体   English   中英

使用ADO.NET连接到SQL Server存储过程

[英]Connect to SQL Server Stored procedure with ADO.NET

目前,我正在编写一个程序,并且想要连接到数据库。

我想知道如何使用ADO.NET概念连接到数据库。

我生成的步骤很少。 请按照以下步骤操作。

  1. 生成ValidateModel.edmx(ADO.NET)。

    • 与MS SQL Server连接已经完全输入了ID和密码。
  2. 生成Windows应用程序表单并尝试调用。

任何人都知道一些技巧,说明如何连接到SQL Server或某些命令。

我已经尝试连接使用Microsoft.Practices.EnterpriseLibrary。

但是创建数据库时会有例外。

private string dbInstance = "testEntities";

try
{
   Database db = DatabaseFactory.CreateDatabase(dbInstance);
   DbCommand dbCommand = db.GetStoredProcCommand("GetUserNameByUserId");
   db.AddInParameter(dbCommand, "@UserId", DbType.String, sPIN);
   db.AddOutParameter(dbCommand, "@UserName", DbType.String, 30); //sTechnicianName
   sTechnicianName = db.ExecuteScalar(dbCommand).ToString();
}

并具有TypeInitializationException。

App.Config中的testEntities信息设置。

这是使用SqlConnection的示例:

int result; 

using (SqlConnection conn = new SqlConnection("hereYourConnectionString"))
{
    conn.Open();
    using (SqlCommand cmd = new SqlCommand("StoredProcedureName", conn))
    {
        cmd.CommandType = CommandType.StoredProcedure;

        // input parameters 
        cmd.Parameters.Add(new SqlParameter("@paramName", paramValue));

        // output parameters
        SqlParameter retval = cmd.Parameters.Add("@returnValue", SqlDbType.Int); // assiming that the return type is an int
        retval.Direction = ParameterDirection.ReturnValue;

       cmd.ExecuteNonQuery();
       result = (int)cmd.Parameters["@returnValue"].Value; // assuming is an int
    }               
}

但请务必检查数据提供者工厂模型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM