ExecuteNonQuery需要一个开放且可用的连接

时间:2014-08-04 09:54:27

标签: c# asp.net gridview

在我的服务器Windows 2003 中,默认语言和安装采用英语语言。

现在我需要以西班牙语显示我的aspx页面的GridView。

我已经尝试了这个代码隐藏但是GridView中的输出始终是英文的,即使我尝试运行查询strSQL ,我也有错误,为什么?< / p>

ExecuteNonQuery requires an open and available Connection. 
The connection's current state is closed.

我的代码如下。

我非常感谢您在解决这个问题时能给我的任何帮助。 提前谢谢。

public DataTable GridViewBind()
{
    sql = " SELECT * from .... ; ";

    try
    {
        dadapter = new OdbcDataAdapter(sql, conn);
        dset = new DataSet();
        dset.Clear();
        dadapter.Fill(dset);
        DataTable dt = dset.Tables[0];
        GridView1.DataSource = dt;

        string strSQL = " SET lc_time_names = 'es_ES'; ";
        OdbcCommand cmd = new OdbcCommand(strSQL, conn);
        cmd.ExecuteNonQuery();

        GridView1.DataBind();

        return dt;
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        dadapter.Dispose();
        dadapter = null;
        conn.Close();
    }
}


protected override void InitializeCulture()
{
    Page.Culture = "es-ES";
    Page.UICulture = "es-ES";
}

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        InitializeCulture();
        GridViewBind();
    }
}

编辑1

conn.Open();
string strSQL = " SET lc_time_names = 'es_ES'; ";
OdbcCommand cmd = new OdbcCommand(strSQL, conn);
cmd.ExecuteNonQuery();

1 个答案:

答案 0 :(得分:0)

OdbcDataAdapterOdbcCommand

中使用之前,请务必先打开连接
conn.Open();