【ASP.NET】GridView連線資料庫,顯示資料
阿新 • • 發佈:2019-02-11
前端
1、新增控制元件GridView,新增資料來源,接著按步驟選擇自己的資料庫
新增資料來源顯示資料有倆種方法:
(1)一種方法是在GridView控制元件上直接按步驟新增資料來源,及設計想要顯示的列,這種方法比較直接簡單
(2)另一種方法是直接用後端的程式碼實現顯示資料
鑑於後邊的功能想要把“編輯”和“刪除”列加在後邊,而通過程式碼顯示的資料,新新增的列在前邊,不美觀,所以進行了手動新增資料來源這步操作
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding ="4" PageSize="10" AllowPaging="True"
ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
OnRowUpdating="GridView1_RowUpdating"
OnRowCancelingEdit="GridView1_RowCancelingEdit" onrowdatabound="GridView1_RowDataBound"
>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerSettings Visible="False" />
<Columns>
<asp:BoundField DataField="UserID" HeaderText="使用者" ReadOnly="True"
SortExpression="UserID" />
<asp:BoundField DataField="Context" HeaderText="感謝留言"
SortExpression="Context" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
<RowStyle ForeColor="#000066" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>
後端
1、連線資料庫
private DataSet GetData()
{
//連線資料庫
// 資料庫連線,用的是相對路徑 資料庫檔名:Database.mdb存放於 資料夾app_data 中
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/app_data/Database.mdb");
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
string strSql = "select UserID,Context from Letter_Info order by ID desc";
cmd.CommandText = strSql;
cmd.CommandType = CommandType.Text;
DataSet ds = new DataSet();
try
{
conn.Open();
OleDbDataAdapter adapt = new OleDbDataAdapter(strSql, conn);
adapt.SelectCommand = cmd;
adapt.Fill(ds, "Letter_Info");
}
catch (Exception ex)
{
Response.Write("資料庫錯誤,錯誤原因:" + ex.Message);
Response.End();
}
finally
{
conn.Close();
}
return ds;
}
2、設定GridView的資料來源,顯示資料
public void fillGridView()
{
DataSet ds = new DataSet();
ds = GetData();
GridView1.DataSource = ds;
GridView1.DataKeyNames = new string[] { "UserID" };
GridView1.DataBind();
getRefSet(ds);
}
3、窗體啟動是呼叫fillGridView方法
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
fillGridView();
}
}