Results 1 to 9 of 9

Thread: ถาม C# บันทึกข้อมูลลง database ยังไร

  1. #1
    Member
    Join Date
    Jul 2007
    Posts
    40


    ผมได้ลองทดลองตามหนังสือที่ซื้อมาแล้ว แต่เหมือนหนังสือมันวางยาครับ ผมดึงข้อมูลมาดูได้ แต่บันทึกกลับไม่ได้
    วานผู้รู้ รบกวนตอบด้วยนะครับ

  2. #2
    Senior Member
    Join Date
    Sep 2007
    Location
    Laos
    Posts
    192


    Is it possible to post your code here ? Cause we don't know which part of your code that goes wrong. Maybe we can analyze that

    Sincerely yours,

  3. #3


    อย่างที่ท่่าน snapter บอกแหละครับ ถ้าอยากให้ช่วยแก้ปัญหาก็ลองเอาตัวอย่าง code ที่คิดว่าผิดมาลองโพสต์ดู
    เพราะจะได้บอกได้ว่าผิดตรงไหน แล้วอีกอย่างจะได้เรียนรู้ด้วยว่าสาเหตุที่ผิดๆมาจากอะไร
    เพราะคำถามที่ตั้งไว้มันค่อนข้างที่จะกว้างครับ ยังไงก็ลองเอา code มาลงไว้ก่อนเพื่อนๆสมาชิกคนอื่นๆจะได้ช่วยบอกได้ว่าควรจะปรับแก้ตรงไหน

  4. #4
    Junior Member
    Join Date
    Feb 2007
    Posts
    20


    ว่าจะมาช่วบแก้ปัญหาซักหน่อย นี้ไม่มีอะไรบอกกันเลยแล้วจะบอกไงนิ
    ถ้ายังแก้ไขปัญหาไม่ได้ก็ลง CODE มานะครับ เด๋วจะดูให้แต่ตอนนี้ช่วย
    ไม่ได้จริงๆ เพราะไม่มีไรให้ผมดูเลย
    [img]http://www.geocities.com/metab0lic007/reaper.JPG[/img]

  5. #5


    เป็น Class ที่ผมเขียนไว้สำหรับติดต่อฐานข้อมูลโดยเฉพาะ
    แต่ตัวนี้ติดต่อ mysql นะครับ หากจะติดต่ออย่างอื่นก็เปลี่ยน connection string เอา

    โดยใน class นี้จะประกอบไปด้วย

    property
    - CommandText ใส่คำสั่ง sql เข้าไป

    method
    - Query คืนค่าเป็น Boolean
    - Scalar คืนค่าเป็น Object
    - Reader คืนค่าเป็น DataReader
    - Adapter คืนค่าเป็น DataSet
    และสุดท้ายคือ
    - Close ไว้ปิดการเชื่อมต่อ




    วิธีใช้นะครับ

    - Query คืนค่าเป็น Boolean
    ใช่สำหรับ ส่งคำสั่งไป จัดการกับฐานข้อมูล พวกคำสั่ง inset, update delete เป็นต้น (ที่ไม่ใช่การ select ข้อมูลออกมา)
    แล้วค่าที่คืนมาจะเป็น boolean เพื่อเช็คว่า query สำเร็จหรือเปล่า (true or false)


    [code]
    mysqlCmd mysql = new mysqlCmd();

    mysql.CommandText = "INSERT INTO member(id,name,password) VALUES('111', 'maxma', 'WDOOKFI&#39";
    Boolean result = mysql.Query();
    if (result)
    {

  6. #6
    Jedi Global Moderator
    Join Date
    Aug 2007
    Location
    Bangkok
    Posts
    136


    อันนี้เป็น Class ที่ผมใช้ในการ Connect Database ครับผม
    โดยผมจะแยกออกเป็น 3 เลเยอร์
    1. Data Layer
    2. Business Layer
    3. Application Layer
    โดยปกติ การที่จะ Connect Database นั้น ในภาษาแบบ Structure Programming ได้แก่ Turbo C,Pascal,QBasic
    หรือภาษา ที่ใช้เขียน Web รุ่นเก่าๆ (Semi-Structure) เช่น ASP,PHP 3.0 วิธีการ Connect Database โดยส่วนใหญ่ จะเป็นการเขียน Code โดยสร้าง Connection String ขึ้นมาชุดหนึ่ง แล้วก็นำคำสั่งไป Execute โดยการ Open Connection จากนั้น ก็ส่งค่า Query String ในภาษา
    SQL ให้ไป Run ใน Server แล้วได้ Record Set กลับมา แล้วเราก็นำมาแสดงบนหน้าจอ บน Web ซึ่งแบบนี้เป็นแนวคิดของภาษารุ่นเก่า
    แต่ Concept ของ OOP (Object-Oriented Programming) จะใช้แนวคิดที่ต่างออกไป คือจะต้องมอง วิธีการ Connection เป็น เหมือนวัตถุก้อนหนึ่งครับ ทำให้ต้องแบ่งขั้นตอนการ Connection เป็นชั้นๆ เพื่อให้สามารถนำไป พัฒนา Software ที่มีความซับซ้อน โดยใช้เวลาน้อยลงในการเขียน Code ซึ่งในที่นี้ผมแบ่งเป็น 3 เลเยอร์
    1. Data Layer จะเป็น Code ที่ ดำเนินการเกี่ยวกับ Select,Insert,Update,Delete,Search ที่เป็น SQL Command
    2. Business Layer จะเป็น Code ที่ ดำเนินการเกี่ยวกับการ การทำงานที่ต่อเนื่องจาก Data Layer คือเอาข้อมูลมาทำการ Sorting, ส่งค่าระหว่าง Class ของ Object ที่เป็น Business Layer ด้วยกัน เช่น สั่งให้เช็คสิทธิ์ ของการเข้าถึงหน้าจอ เป็นต้น
    3. Application Layer จะเป็น Code ที่ ดำเนินการเกี่ยวกับหน้าจอ Screen และส่วนที่ติดต่อกับผู้ใช้ ทั้งหมด
    Code ที่ผมจะเอามาลงเป็น ส่วนของ Class ที่เป็น การ Connection กับ Database อย่างเดียวนะครับ เพราะ Business Layer กับ Application Layer มันจะปรับเปลี่ยนไปตาม โปรแกรมที่คุณจะเขียนครับ

    [code]
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using System.Data.OleDb;
    using System.Data.Odbc;
    using System.Configuration;
    using System.Data.Common;

    namespace YourName.BaseClass
    {

  7. #7
    Jedi Global Moderator
    Join Date
    Aug 2007
    Location
    Bangkok
    Posts
    136


    string dpStr = ConfigurationSettings.AppSettings["provider"].ToString();
    string cnStr = ConfigurationSettings.AppSettings["cnStr"].ToString();

    2 บรรทัดนี้ ผมใช้ Name Space System.Configuration; เพื่อกำหนดค่า Connection String ที่อยู่ในไฟล์ XML เพื่อใช้เปลี่ยน Connection String กรณีที่จะเปลี่ยนจากการใช้ฐานข้อมูล SQL Server ไปเป็น Oracle หรือไปเป็น MySQL ,...ฯลฯ
    แต่ถ้าคิดว่าต้องการเขียนศึกษาแบบพื้นฐาน ก็ให้เปลี่ยนเป็น

    string dpStr = "System.Data.SqlClient";
    string cnStr = "Data Source=[ชื่อServer];uid=[userที่ใช้ต่อ DB];pwd=[password];Initial Catalog=[ชื่อ Database]";

    ตัว System.Data.SqlClient เป็นตัวบอกว่าจะต่อเข้าไปที่ SQL Server ถ้าจะใช้ฐานข้อมูล Oracle ก็ให้เปลี่ยนเป็น
    System.Data.MSDAORA.1

  8. #8
    Junior Member
    Join Date
    May 2008
    Posts
    3


    [hide=2]ขอ Optimize Code คุณ hinalove บางส่วนนะครับ

    [code]

  9. #9
    Junior Member
    Join Date
    Jun 2008
    Posts
    1


    ถ้าใช้ store procedure ให้ใช้แบบบน


    cmd1.Connection = conn;
    cmd1.CommandText = "Storeprocedurename";
    cmd1.CommandType = CommandType.StoredProcedure;

    cmd1.Parameters.Add("result", OracleDbType.Decimal);
    cmd1.Parameters["result"].Direction = ParameterDirection.ReturnValue;

    cmd1.Parameters.Add("uSER_NAME", OracleDbType.Varchar2).Value = UserName;
    cmd1.Parameters.Add("password", OracleDbType.Varchar2).Value = Password;

    cmd1.ExecuteNonQuery();


    ถ้าใช้ ลักษณะ Command ให้ใช้แบบนี้

    OracleCommand cmd1 = new OracleCommand();
    cmd1.Connection = conn;
    cmd1.CommandText = "Insert table into values ('a', 'b', 'c&#39";
    cmd1.CommandType = CommandType.Text;

    cmd1.ExecuteNonQuery();

    คำสั่ง sql ที่ใช้นั้นมีผลกับแต่ละ database ที่ใช้ด้วยครับ

Similar Threads

  1. Database For Engineer
    By BirdOfJc in forum Databases
    Replies: 0
    Last Post: 14-06-2009, 01:08 AM
  2. Database Abstraction with PHP
    By chaochao in forum PHP,ASP,Javascript, Html
    Replies: 0
    Last Post: 04-06-2008, 07:17 AM
  3. Malware Database
    By newsbot in forum World Hacking/Security News
    Replies: 0
    Last Post: 10-12-2007, 03:59 PM
  4. E-book Database in Access
    By writehat in forum E-Book, Video หรือบทความทั่วไปด้าน Computer
    Replies: 0
    Last Post: 07-09-2007, 12:19 PM
  5. Database Programming
    By kipo in forum E-Book, Video หรือบทความทั่วไปด้าน Computer
    Replies: 0
    Last Post: 05-09-2007, 11:36 PM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •