文章分類

C# (27) ASP.NET (13) SQL (7) ORACLE (5) JAVA (2) SQLSERVER2008 (2) 大家都在問的事 (2) ACCESS (1) ANDRIOD (1) JQUERY (1) python (1) 雜談 (1)

關於我自己

我的相片
程式初心者 JAVA, ASP.NET, C# ,SQL

2011年11月30日 星期三

【C#】使用ORACLE兩種寫SQL傳參數的方法

1.使用string.format方法

#region 寫法1
    DataTable ddt = new DataTable();
    string ss = string.Format("SELECT * FROM  UI_USER_GROUP WHERE USER_NAME='{1}'", "SHENG");
    //{1}表示逗號後的第一個引數,{2}可以表示為逗號後第二個引數,以此類推

            ddt = ExcuteForQuery(ss);
            if (ddt.Rows.Count > 0)
            {
                MsgBox("大於0");//自訂messagebox方法

            }
            else { MsgBox("等於0"); }
#endregion

ExcuteForQuery方法
public DataTable ExcuteForQuery(string sql)
{
    DT = new DataTable();//建立datatable接收query的資料
   using (OracleConnection conn = new OracleConnection("Data Source=orcl;User=SHENG;Password=1234"))
//建立連線物件aaa, Data Source=IP/DB_NAME;User=XXXX;Password=XXXX
      {
                conn.Open();//開始連線
                //建立od物件接收select結果
                OracleDataAdapter OD = new OracleDataAdapter(sql, conn);

                OD.Fill(DT);
                //指定datagridview的datasource

                conn.Close();//結束連線
            }
            return DT;
        }

2.使用command的物件
#region 寫法2
            DataTable ddt2 = new DataTable();
            
            string l_strExeSQL = "SELECT * FROM UI_USER_GROUP WHERE USER_NAME = :USERNAME";
            OracleCommand g_scSql = new OracleCommand(l_strExeSQL);
            g_scSql.Parameters.Add("USERNAME", OracleType.VarChar).Value = "SHENG";
            ddt2 = ExcuteForQuery(g_scSql);
            if (ddt2.Rows.Count > 0)
            {
                MsgBox("大於0");//自訂messagebox方法

            }
            else { MsgBox("等於0"); }
            #endregion


ExcuteForQuery方法
public DataTable ExcuteForQuery(OracleCommand o_cmd)
        {
            DT = new DataTable();//建立datatable接收query的資料
            using (OracleConnection conn = new OracleConnection("Data Source=orcl;User=SHENG;Password=1234"))//建立連線物件aaa, Data Source=IP/DB_NAME;User=XXXX;Password=XXXX
            {
               
                conn.Open();//開始連線
                o_cmd.Connection = conn;
                //建立od物件接收select結果
                OracleDataAdapter OD = new OracleDataAdapter(o_cmd);

                OD.Fill(DT);
                //指定datagridview的datasource

                conn.Close();//結束連線
            }
            return DT;
        }

【ASP.NET】自訂MESSAGEBOX方法

asp.net沒有messagebox.show可以用
不過沒關係, 可以自己寫一個
網路上看到一個vb版, 改成c#版分享給大家

public void MsgBox(string Message)
{
    string sScript = null;
    string sMessage = null;

    sMessage = Message.Replace("'", "\'");
    //處理單引號
    sMessage = sMessage.Replace(Environment.NewLine, "\\n");
    //處理換行
    sScript = string.Format("alert('{0}');", sMessage);
    ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", sScript, true);
}

2011年11月24日 星期四

【ASP.NET】存取LOGINVIEW內的物件

將LOGIN物件放進LOGINVIEW後,在.CS檔內就存取不到Login的物件
要存取的話的話要使用以下的方式來存取

Login aa = (Login)LoginView1.FindControl("Login1");
string Username=aa.UserName;
string UserPassWord=aa.Password;