对Oracle进行操作
前台代码:
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
Width="465px">
<Columns>
<asp:BoundField DataField="id" HeaderText="编号" />
<asp:BoundField DataField="T_UserName" HeaderText="用户名" />
<asp:BoundField DataField="T_Password" HeaderText="密码" />
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server" CommandArgument='<%#Eval("Id") %>' onclick="lnkEdit_Click">编辑</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="lnkDelete" runat="server" CommandArgument='<%#Eval("Id") %>' onclick="lnkDelete_Click">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
后台:
public String oracleStr = ConfigurationManager.ConnectionStrings["oracleCon"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sql = "select * from T_Users order by id";
loadData(sql);
}
}
private void loadData(string sql)
{
OracleConnection oracleCon = new OracleConnection(oracleStr);
oracleCon.Open();
OracleCommand cmd = oracleCon.CreateCommand();
cmd.CommandText = sql;
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
oracleCon.Dispose();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void lnkEdit_Click(object sender, EventArgs e)
{
LinkButton lnk = new LinkButton();
ViewState["Id"] = lnk.ID;
Response.Redirect("OracleAddData.aspx?id="+ViewState["Id"]);
}
protected void lnkDelete_Click(object sender, EventArgs e)
{
LinkButton lnk = new LinkButton();
ViewState["Id"] = lnk.ID;
string sql = "delete from T_Users where Id=" + ViewState["Id"].ToString() + "order by id";
loadData(sql);
}
跳转页前台:
<div >
用户名: <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox><br /><br /><br />
密 码: <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox><br /><br /><br />
<asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click" />
</div>
后台:
public String oracleStr = ConfigurationManager.ConnectionStrings["oracleCon"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSave_Click(object sender, EventArgs e)
{
string id = Request.QueryString["id"];
OracleConnection oracleCon = new OracleConnection(oracleStr);
oracleCon.Open();
OracleCommand cmd = oracleCon.CreateCommand();
string sql = "insert into T_Users (Id,T_UserName,T_Password) values(se.nextval,:name,:pwd)";
cmd.Parameters.AddWithValue(":name", txtUserName.Text);
cmd.Parameters.AddWithValue(":pwd", txtPassword.Text);
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
cmd.Dispose();
oracleCon.Dispose();
Response.Redirect("GridViewOracle.aspx");
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构