Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Procdure và window form

  1. #1
    Ngày gia nhập
    05 2007
    Nơi ở
    Thềm Xưa
    Bài viết
    44

    Mặc định Procdure và window form

    Tôi đã add một cái sever vào project của tôi, trong sever có database và database này có các procdure, giờ tôi muốn sử dụng những procdure này để cập nhật một bàng trong database thì phải làm sao ?
    hãy chỉ tôi cách dùng IDE nếu có thể làm được.
    Thanks All.
    Hãy cùng nhau xây dựng một cộng đồng lớn mạnh

  2. #2
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Đây là một số hàm trong class mình làm để phục vụ cho việc code của mình, bạn có thể tham khảo thêm:

    Visual C# Code:
    1.  
    2. // đầu vào là tên của một proceduce
    3. public DataTable DoProcTable(string ProcName)
    4.         {
    5.             DataTable tbl = new DataTable();
    6.             SqlCommand cmd = new SqlCommand();
    7.  
    8.             cmd.CommandText = ProcName;
    9.             cmd.CommandType = CommandType.StoredProcedure;
    10.             cmd.Connection = m_con.sqlCon;// ở đây bạn có thể sửa lại thành connection của mình.
    11.             try
    12.             {
    13.                 SqlDataAdapter adap = new SqlDataAdapter(cmd);
    14.                 adap.Fill(tbl);
    15.             }
    16.             catch (Exception e)
    17.             {
    18.                 strError = e.Message;
    19.             }
    20.             return tbl;
    21.         }
    22. // đầu vào là tên của proceduce, tên các tham số, giá trị các tham số.
    23.         public DataTable DoProcQuerry(string ProcName, string[] ArrParamaterName, object[] ArrParamaterValue)
    24.         {
    25.             DataTable tblResult = new DataTable();
    26.             SqlDataAdapter dap;
    27.             try
    28.             {
    29.                 SqlCommand cmd = new SqlCommand();
    30.                 cmd.CommandType = CommandType.StoredProcedure;
    31.                 cmd.CommandText = ProcName;
    32.                 cmd.Connection = con.sqlCon; // ở đây bạn có thể sửa lại thành connection của mình.
    33.  
    34.                 int i = 0;
    35.                 while (i < ArrParamaterName.Length)
    36.                 {
    37.                     cmd.Parameters.AddWithValue(ArrParamaterName[i], ArrParamaterValue[i]);
    38.                     i++;
    39.                 }
    40.  
    41.                 dap = new SqlDataAdapter(cmd);
    42.                 dap.Fill(tblResult);
    43.             }
    44.             catch (Exception e)
    45.             {
    46.                 strError = e.Message;
    47.             }
    48.             return tblResult;
    49.         }

    còn đây là code thực thi không có trả về dữ liệu:


    Visual C# Code:
    1. public void DoProcNonquerry(string ProcName)
    2.         {
    3.             SqlCommand cmd = new SqlCommand();
    4.             cmd.CommandText = ProcName;
    5.             cmd.Connection = m_con.sqlCon;
    6.             cmd.CommandType = System.Data.CommandType.StoredProcedure;
    7.  
    8.             try
    9.             {
    10.                 cmd.ExecuteNonQuery();
    11.             }
    12.             catch (Exception e)
    13.             {
    14.                 strError = e.Message;
    15.             }
    16.         }
    17.  
    18. public bool DoProcNoneQuerry(string ProcName, string[] ArrParamaterName, object[] ArrParamaterValue)
    19.         {
    20.             bool bResult = false;
    21.             try
    22.             {
    23.                 SqlCommand cmd = new SqlCommand();
    24.                 cmd.CommandText = ProcName;
    25.                 cmd.CommandType = CommandType.StoredProcedure;
    26.                 cmd.Connection = con.sqlCon;
    27.                 int i = 0;
    28.                 while (i < ArrParamaterName.Length)
    29.                 {
    30.                     cmd.Parameters.AddWithValue(ArrParamaterName[i],ArrParamaterValue[i]);
    31.                     i++;
    32.                 }
    33.                 cmd.ExecuteNonQuery();
    34.                 bResult = true;
    35.             }
    36.             catch (Exception e)
    37.             {
    38.                 bResult = false;
    39.                 strError = e.Message;
    40.             }
    41.             return bResult;
    42.         }


    do không post code lên hết được nên bạn phải tham khảo thôi nhé

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    14

    đây là cách khác gửi bạn tham khảo thêm gần giống cách của bạn zkday2886
    //class mysql
    public class mysql
    {
    private string user = "";

    private string scon = "";
    public string GetUser()
    {
    return user;
    }
    public mysql(string servername, string data, string u, string p)
    {
    scon = "server=" + servername.Trim() + ";database=" + data.Trim() +
    ";uid=" + u.Trim() + ";pwd=" + p.Trim();
    user = u.Trim();
    }
    public mysql(mysql sql)
    {
    scon = sql.scon;
    user = sql.user;
    }
    public SqlConnection getCon()

    {
    return new SqlConnection(scon);
    }
    public static void ExecuteNonQuery(
    string sql,
    CommandType commandType,
    params object[] pars)
    {
    mysql c=new mysql(frmMain.me.libsql);//cái này do mình lấy kết nối từ frm main của mình bạn có thể thay đổi theo kết nối của bạn
    SqlConnection con =c.getCon() ;
    con.Open();

    SqlCommand com = new SqlCommand(sql, con);
    com.CommandType = commandType;

    for (int i = 0; i < pars.Length; i += 2)
    {
    SqlParameter par = new SqlParameter(pars[i].ToString(),
    pars[i + 1]);
    com.Parameters.Add(par);
    }
    try
    {
    com.ExecuteNonQuery();
    }
    catch(SqlException e)
    {
    if (e.Number == 2627)
    MessageBox.Show("Mã này đã tồn tại", "Thông Báo");
    else
    {
    MessageBox.Show("" + e.Number + " " + e.Errors + e.Message);
    MessageBox.Show("Không thể thực hiện", "Thông Báo");
    }
    }
    }
    }
    Và bạn có thể sử dụng ở các form khác bằng câu lệnh sau (ví dụ thêm dữ liệu vào bàng)

    mysql.ExecuteNonQuery("insert_tbl_DMDantoc",Comman dType.StoredProcedure,"(@MaDT_1 ",1,"@TenDT_2","Kinh");

    với procedure là
    CREATE PROCEDURE [insert_Tbl_DMDanToc]
    (@MaDT_1 [numeric],
    @TenDT_2 [nvarchar](50))

    AS INSERT INTO [Tbl_DMDanToc]
    ( [MaDT],
    [TenDT])

    VALUES
    ( @MaDT_1,
    @TenDT_2)

    cuối cùng chúc bạn thành công!!!!!!!!

  4. #4
    Ngày gia nhập
    05 2007
    Nơi ở
    Thềm Xưa
    Bài viết
    44

    Cám ơn 2 bạn đã giúp đỡ nhiệt tình.
    Hãy cùng nhau xây dựng một cộng đồng lớn mạnh

Các đề tài tương tự

  1. NHÚNG một chương trình vào window form
    Gửi bởi phong172 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 07-06-2013, 05:29 PM
  2. cách phân biệt khởi động form cùng window và khởi động form bằng tay?
    Gửi bởi yonachenvn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 12-09-2011, 01:12 AM
  3. Xử lý đa luồng trong Window Form C#?
    Gửi bởi ngochan011290 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 22-03-2011, 08:18 PM
  4. Hỏi về các UI Window Form của C#
    Gửi bởi napo1010 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 02-06-2009, 09:23 PM
  5. Window form, lấy thông tin ô textbox sử dụng cho form khác
    Gửi bởi alllove trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 26-03-2009, 04:28 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn