C# gridview赢得';t使用自定义连接字符串和自定义数据源填充
我已经设置了一个用户定义的连接字符串,现在尝试使用它填充gridview,断点显示连接字符串很好。也没有错误,但令人惊讶的是datatable没有收到任何值。尽管数据存在…我做错了什么 Default3.Aspx:C# gridview赢得';t使用自定义连接字符串和自定义数据源填充,c#,asp.net,gridview,C#,Asp.net,Gridview,我已经设置了一个用户定义的连接字符串,现在尝试使用它填充gridview,断点显示连接字符串很好。也没有错误,但令人惊讶的是datatable没有收到任何值。尽管数据存在…我做错了什么 Default3.Aspx: <td colspan="2" align="center"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> </asp:GridV
<td colspan="2" align="center">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
</asp:GridView>
</td>
protected void Page_Load(object sender, EventArgs e)
{
string con = OracleDatabase.connection();
String SelectCommand = "select * from EMP";
OracleDataAdapter adp = new OracleDataAdapter(SelectCommand, con);
DataTable dt = new DataTable();
adp.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
/*
OracleDatabase.gridpopulate(SelectCommand, GridView1);
GridView1.DataSource = OracleDatabase.gridpopulate(SelectCommand);
GridView1.DataBind();
*/
//i tried doing this by writting a function At class file also
}
public static string connection()
{
oradb = ConfigurationManager.ConnectionStrings["ConnectionString"]
.ConnectionString;
string str = "Data Source="+db+";User ID="+userid+";Password="+password+";";
oradb = String.Concat(oradb, str);
con = new OracleConnection(oradb);
con.Open();
return oradb;
}
/*(function for gridpopulate)
public static void gridpopulate(string SelectCommand,GridView grid1)
{
string con =(ConfigurationManager.ConnectionStrings["ConnectionString"]
.ConnectionString);
con = String.Concat(con, str);
adp = new OracleDataAdapter(SelectCommand,con);
DataTable dt = new DataTable();
adp.Fill(dt);
grid1.DataSource = dt;
grid1.DataBind();
//return dt;
}
*/
类文件:
<td colspan="2" align="center">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
</asp:GridView>
</td>
protected void Page_Load(object sender, EventArgs e)
{
string con = OracleDatabase.connection();
String SelectCommand = "select * from EMP";
OracleDataAdapter adp = new OracleDataAdapter(SelectCommand, con);
DataTable dt = new DataTable();
adp.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
/*
OracleDatabase.gridpopulate(SelectCommand, GridView1);
GridView1.DataSource = OracleDatabase.gridpopulate(SelectCommand);
GridView1.DataBind();
*/
//i tried doing this by writting a function At class file also
}
public static string connection()
{
oradb = ConfigurationManager.ConnectionStrings["ConnectionString"]
.ConnectionString;
string str = "Data Source="+db+";User ID="+userid+";Password="+password+";";
oradb = String.Concat(oradb, str);
con = new OracleConnection(oradb);
con.Open();
return oradb;
}
/*(function for gridpopulate)
public static void gridpopulate(string SelectCommand,GridView grid1)
{
string con =(ConfigurationManager.ConnectionStrings["ConnectionString"]
.ConnectionString);
con = String.Concat(con, str);
adp = new OracleDataAdapter(SelectCommand,con);
DataTable dt = new DataTable();
adp.Fill(dt);
grid1.DataSource = dt;
grid1.DataBind();
//return dt;
}
*/
请按照以下步骤进行尝试,而不是从函数return Oracle connection object返回连接字符串并将其传递给适配器
OracleConnection con = OracleDatabase.connection();
public static OracleConnection connection()
{
oradb =ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string str = "Data Source="+db+";User ID="+userid+";Password="+password+";";
oradb = String.Concat(oradb, str);
con = new OracleConnection(oradb);
con.Open();
return con;
}
为什么要执行autogeneratecolumns=false?您需要将其设置为true,或者添加一些定义列的标记代码>生成正确的连接字符串???是的…连接字符串很好…很抱歉回答datatable仍然没有接收任何数据…y'r逻辑看起来很好…但是由于未知原因,它没有填充网格…它是否正在运行@y'r end?是否已将AutoGenerateColumns设置为True??请查收