首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正在尝试使用ORACLE托管驱动程序通过C# Asp.net更新Oracle 11G数据库。

正在尝试使用ORACLE托管驱动程序通过C# Asp.net更新Oracle 11G数据库。
EN

Stack Overflow用户
提问于 2015-06-09 08:19:08
回答 1查看 166关注 0票数 0

我正在尝试编写更新代码,以便在VS12中使用Oracle托管驱动程序更新Oracle。

我正在使用Oracle11GXE和ODT for VS addon和VS2012。

我试过很多不同的东西,但我感到困惑。请帮帮忙。

代码语言:javascript
运行
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using Oracle.ManagedDataAccess.Client;


public partial class frmUserInfo : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {



        //Get the User ID for the current user. 
        OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        OracleCommand userCommand = new OracleCommand("Select cust_id from CIS_CUSTOMER_TABLE where cust_username ='" + Session["username"].ToString() + "'", conn);
        conn.Open();    
        OracleDataReader userReader = userCommand.ExecuteReader();
        string User_ID;
        userReader.Read();
        User_ID = (userReader["cust_id"].ToString());
        conn.Close();

        //populate the Shipping information secction
        OracleCommand custCommand = new OracleCommand("Select * from CIS_CUSTOMER_TABLE where cust_username ='" + Session["username"].ToString() + "'", conn);
        conn.Open();
        OracleDataReader custReader = custCommand.ExecuteReader();
        while (custReader.Read())
        {
            tbShipFName.Text = (custReader["cust_fname"].ToString());
            tbShipLName.Text = (custReader["cust_lname"].ToString());
            tbShipAddress.Text = (custReader["cust_street"].ToString());
            tbShipCity.Text = (custReader["cust_city"].ToString());
            ddShipState.Text = (custReader["cust_st"].ToString());
            tbShipZipCode.Text = (custReader["cust_Zip"].ToString());
            tbShipPhone.Text = (custReader["cust_phone"].ToString());
            tbShipEmail.Text = (custReader["cust_email"].ToString());
            lblUsername.Text = (custReader["cust_username"].ToString());
        }
        conn.Close();

        //Popuate the Billing information section
        OracleCommand billCommand = new OracleCommand("Select * from CIS_BILLING_TABLE where cust_id =" +User_ID+"", conn);
        conn.Open();
        OracleDataReader billReader = billCommand.ExecuteReader();
        while (billReader.Read())
        {
            tbBillFName.Text = (billReader["cust_fname"].ToString());
            tbBillLName.Text = (billReader["cust_lname"].ToString());
            tbBillAddress.Text = (billReader["cust_street"].ToString());
            tbBillCity.Text = (billReader["cust_city"].ToString());
            ddBillState.Text = (billReader["cust_st"].ToString());
            tbBillZipCode.Text = (billReader["cust_Zip"].ToString());
            tbBillCreditCard.Text = (billReader["cc_info"].ToString());
            tbBillExperation.Text = (billReader["cc_exp"].ToString());
        }
        //Close connection for billing.
        conn.Close();

        }


    protected void btnUpdateUserInfo_Click(object sender, EventArgs e)
    {


        OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

        OracleCommand updateShip = new OracleCommand("UPDATE cis_customer_table SET cust_fname = :ShipFName , cust_lname= :ShipFName, cust_street= :ShipAddress, cust_city= :ShipCity, cust_st= :ShipState, cust_zip= :ShipZipCode, cust_phone= :ShipPhone, cust_email= :ShipEmail WHERE cust_username = :Username;", conn);

        updateShip.Parameters.Add("ShipFName", OracleDbType.Varchar2).Value=tbShipFName.Text;
        updateShip.Parameters.Add("ShipLName", OracleDbType.Varchar2).Value = tbShipLName.Text;
        updateShip.Parameters.Add("ShipAddress", OracleDbType.Varchar2).Value = tbShipAddress.Text;
        updateShip.Parameters.Add("ShipCity", OracleDbType.Varchar2).Value = tbShipCity.Text;
        updateShip.Parameters.Add("ShipState", OracleDbType.Char).Value = ddShipState.Text;
        updateShip.Parameters.Add("ShipZipCode", OracleDbType.Double).Value = tbShipZipCode.Text;
        updateShip.Parameters.Add("ShipPhone", OracleDbType.Varchar2).Value = tbShipPhone.Text;
        updateShip.Parameters.Add("ShipEmail", OracleDbType.Varchar2).Value = tbShipEmail.Text;
        updateShip.Parameters.Add("Username", OracleDbType.Varchar2).Value = lblUsername.Text;

        conn.Open();
        updateShip.ExecuteNonQuery();
        conn.Close();

    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-06-09 11:01:41

OracleCommand userCommand = new OracleCommand("Select...'", conn);之后调用conn.Open();,尝试打开连接,然后执行命令。

你得到了什么错误?看起来不错。

代码语言:javascript
运行
复制
    //Get the User ID for the current user. 
    OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);


    //conn open before next using
    conn.Open();    



    OracleCommand userCommand = new OracleCommand("Select cust_id from CIS_CUSTOMER_TABLE where cust_username ='" + Session["username"].ToString() + "'", conn);
    OracleDataReader userReader = userCommand.ExecuteReader();
    string User_ID;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30721106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档