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

时间:2013-11-22 20:42:55

标签: c# sql sql-server ado.net typeinitializeexception

目前我正在创建一个程序,我想连接数据库。

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

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

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

    • 已连接MS SQL服务器已完全输入密码和密码。
  2. 生成Windows应用程序表单并尝试调用。

  3. 任何人都知道如何连接到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信息设置。

1 个答案:

答案 0 :(得分:5)

以下是使用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
    }               
}

但请务必查看Data Provider Factory Model

相关问题