文章分類

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年9月28日 星期三

【C#】傳值呼叫與傳祉呼叫使用時機

傳祉呼叫寫法 
CallRef(ref a, ref b);
public void CallRef(ref int a, ref int b) {
...
}
 
傳值呼叫寫法 
CallRef( a, b);
 
public void  CallRef( int a,  int b) {
...
}
 
應用面: 
寫法很簡單, 但是時機呢?什麼時候該用傳值或傳祉
 
1.當呼叫的方法是處理原本主程式中的參數時
使用傳值的話,不會改變原本的a,與b的數值, 
 如下列,在呼叫CallRef後還是a=10,b=10
ex:
 
int a =10,b=10;
CallRef( a, b); 
 
public void  CallRef( int a,  int b) 
{
  a=a+b;
  b=b+a; 
}
 








若使用傳祉,則呼叫CallRef後是a=20,b=20
 ex:
 
int a =10,b=10;
CallRef(ref a,ref b);

public void  CallRef(ref int a, ref int b) 
{
  a=a+b;
  b=b+a; }
 
 
2.但是如果你呼叫的方法傳入的參數,和回傳的東西
是兩種不一樣的東西, 傳值傳祉都可以,但傳祉似乎會好一點
 public Datatable  CallRef( string SQL_CMD) { 
...
 DataTable DT=null;
return DT://傳回的為DataTable物件
}
 
string sql_cmd="SELECT * FROM MAIN";


DataTable dt=CallRef(sql_cmd);//傳入的參數為STRING 
 
還有人想到什麼可以補充的嘛

2011年9月15日 星期四

【JAVA】使用NETBEAN開發ANDRIOD APP(轉貼)

http://job.achi.idv.tw/2009/11/17/%E4%BB%8B%E7%B4%B9netbeans%E4%B8%8B%E7%9A%84android%E9%96%8B%E7%99%BC/

2011年9月14日 星期三

【ASP.NET】設定GRIDVIEW欄位與置中

'設定欄位寬度
        GridView1.Columns[0].ItemStyle.Width = 80;
GridView1.Columns[0].ControlStyle.Width = 80;
 
'設定文字置中
         GridView1.Columns[0].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
 
ItemStyle.Width:普通模式欄位寬度
ControlStyle.Width :編輯模式欄位寬度

設定後結果:
2010-02-25_205627  

2011年9月13日 星期二

【ASP.NET】動態產生TREEVIEW


NoteId:節點代碼
ParnetId:父層節點代碼
sText:節點的Text
sValue:節點的Value
sURL:超鏈結
sTarget:超鏈結Target
updateName:資料修改者
updateTime:資料修改時間
//初始化
    protected void InitTree()
    {
        TreeView Tree1 = new TreeView();
        TreeNode tmpNode = new TreeNode();
        tmpNode.Text = "首頁";
        tmpNode.Value = "0";
        tmpNode.NavigateUrl = "http://www.yahoo.com.tw";
        tmpNode.Target = "_Top";
        Tree1.Nodes.Add(tmpNode);
        Session["Tree1"] = Tree1;
    }
   
//建立Tree
protected void BuildTree()
    {
        TreeView Tree1 = new TreeView();
        if (Session["Tree1"] == null)
        {
            InitTree();
        }
        Tree1 = (TreeView)Session["Tree1"];
        TreeNode RootNode;
        RootNode = Tree1.Nodes[0];
        string rc;
        rc = AddNodes(RootNode, 0);
        Session["Tree1"] = Tree1;
               
    }
    protected void GetDataTable()
    {
        string ConnStr;
        SqlConnection Conn;
        SqlDataAdapter Da;
        DataSet Ds;
        DataTable dt;
        string sqlTxt;
        try
        {
            //取得web.config的連線字串
            ConnStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnString"].ToString();
            Conn = new SqlConnection(ConnStr);
            Conn.Open();
            sqlTxt = "Select * from tb_TreeView ";
            Da = new SqlDataAdapter(sqlTxt, Conn);
            Ds = new DataSet();
            Da.Fill(Ds);
            dt = new DataTable();
            dt = Ds.Tables[0];
            Session["dt"] = dt;
            Conn.Close();
        }
        catch (Exception ex)
        {
            this.Label1.Text = ex.Message.ToString();
        }

    }
    protected string  AddNodes(TreeNode tNode, decimal PID)
    {
        try
        {
            if (Session["dt"] == null)
            {
                GetDataTable();
            }
            DataTable dt;
            dt = (DataTable)Session["dt"];
            DataRow[] rows;
            string filterExpr;
            filterExpr = "ParentId =" + PID;
            rows = dt.Select(filterExpr);
            if (rows.GetUpperBound(0) >=0)
            {
                DataRow row;
                decimal  tmpNodeId;
                string tmpsText;
                string tmpsValue;
                string tmpsUrl;
                string tmpsTarget;
                TreeNode NewNode;
                string rc;
                for (int i = 0; i < rows.Length ; i++)
                {
                    row = rows[i];
                    tmpNodeId = (decimal)row[0];
                    tmpsText = (string)row[2];
                    tmpsValue = (string)row[3];
                    tmpsUrl = (string)row[4];
                    tmpsTarget = (string)row[5];
                    NewNode = new TreeNode();
                    NewNode.Text = tmpsText;
                    NewNode.Value = tmpsText;
                    NewNode.NavigateUrl = tmpsUrl;
                    NewNode.Target = tmpsTarget;
                    tNode.ChildNodes.Add(NewNode);
                    rc = AddNodes(NewNode,tmpNodeId);
                                     
                }
            }
            return "Success";
        }
        catch(Exception ex)
        {
            this.Label1.Text = ex.Message.ToString();
            return "False";
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
         if (Session["Tree1"] == null)
            {
                InitTree();
                BuildTree();
            }
            TreeView Tree1;
            Tree1 = (TreeView)Session["Tree1"];
            Tree1.ImageSet = TreeViewImageSet.XPFileExplorer;
            this.PlaceHolder1.Controls.Add(Tree1);      

    }



轉載自 :http://tw.myblog.yahoo.com/jw!Iki8rGaBGAJfeU4uFKvazeLG8Mo-/article?mid=158&prev=184&next=52&l=f&fid=16&sc=1

2011年9月12日 星期一

【SQL2008】打開遠端連接

1. 執行「開始」\「所有程式」\「Microsoft SQL Server 2008」\「組態工具」\「SQL Server 組態管理員」。
2. 在「SQL Server Configuration Manager」視窗,執行以下的選項:
在左邊窗格,點選「SQL Server 網路組態」。
點選「SQLEXPRESS 的通訊協定」。

01_選擇「SQL Server 網路組態」
在右邊的窗格,在「通訊協定名稱」方塊下,選擇「TCP/IP」。
滑鼠右鍵,選擇「啟用」。

02_啟用 TCPIP
在「警告」視窗,點選「確定」。
03_警告視窗
3. 重新啟動 SQL Server。
工作2. 啟動「SQL Server Browser」服務
1. 在「SQL Server Configuration Manager」視窗,執行以下的選項:
在左邊窗格,點選「SQL Server 服務」。
在右邊窗格,點選「SQL Server Browser」。
滑鼠右鍵,選擇「啟動」。

建議,可以設定「SQL Server Browser」服務為「自動」啟動模式。
 4. 如果還是有問題, 則記得將防火強打開1433PORT



轉載自:http://sharedderrick.blogspot.com/2009/05/sql-server-2008-express-enable-remote.html

【SQLSERVER2008】18456登入失敗

網路解1.SA密碼設太短,改密碼

網路解2.




2.切換驗證模式後按確定, 服務重啓SQLSERVER_EXPRESS

2011年9月4日 星期日

【ASP.NET】DROPLIST加入新項目KEY VALUE

 System.Web.UI.WebControls.ListItem test =
 new System.Web.UI.WebControls.ListItem("Key", "Value");

  DropDownList1.Items.Add(test);

2011年9月1日 星期四

[ASP.NET] 頁面跳轉中傳值

Default1.aspx中拉一個TextBox1與Button1
在Button1 Click的事件中這樣寫

       Response.Redirect("Default2.aspx?id="+this.TextBox1.Text);

這樣子就能在網祉中傳值

在Default2.aspx中拉一個TextBox1來接值
寫在Form_Load事件裡
   this.TextBox1.Text = Request["id"];

就結束了, 超簡單入門