Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: Fill: SelectCommand.Connection property has not been initialized.?

  1. #1
    Ngày gia nhập
    12 2011
    Bài viết
    11

    Question Fill: SelectCommand.Connection property has not been initialized.?

    Visual C# Code:
    1. private void button1_Click(object sender, EventArgs e)
    2.         {
    3.             dtClass.Clear();
    4.             SqlCommand command = new SqlCommand();
    5.             command.Connection = con;
    6.             command.CommandType = CommandType.Text;
    7.             command.CommandText = @"select
    8.                                                 mahs as N'Mahs',
    9.                                                 mamon as N'Mamon',
    10.                                                 hk as N'Hocky',
    11.                                                 diemlan1 as N'Diemlan1',
    12.                                                 ghichu as N'Ghichu',
    13.                                                 diemlan2 as N'Diemlan2'
    14.                                                 from diemthi
    15.                                             where  (mahs like '%' + @Mahs + '%')";             
    16.             command.Parameters.Add("@Mahs", SqlDbType.NVarChar,50).Value = txtma.Text;
    17.    
    18.             da.SelectCommand = command;
    19.             da.Fill(dtClass);// em sai ngay chổ này.
    20.             if (dtClass.Rows.Count > 0)
    21.             {
    22.                 dataGridView1.DataSource = dtClass;
    23.             }
    24.             else
    25.             {
    26.                 MessageBox.Show("Khong tim thay du lieu phu hop!", "THONG BAO", MessageBoxButtons.OK);
    27.             }
    28.         }
    ---------------------------------------------------
    Em chuẩn bị nộp đồ án về phần C# . Mong mọi người giúp em với.
    Đã được chỉnh sửa lần cuối bởi huuhung : 14-12-2011 lúc 11:30 AM. Lý do: cho code vào thẻ

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    command.Connection = con;
    con ở đâu ra vậy?

  3. #3
    Ngày gia nhập
    12 2011
    Bài viết
    11

    Mặc định Con?.

    Em mới nhập môn c# em toàn coi trên mạng và làm theo. con ở đâu ra em cũng không hiểu?. Tại c# em chưa học qua.

  4. #4
    Ngày gia nhập
    12 2011
    Bài viết
    11

    Mặc định Giúp em với mấy anh ơi.

    Em đang làm tìm kiếm sinh viên theo mã sinh viên và học kỳ. và xóa sửa, thêm. mong mấy pro giúp em với. .

  5. #5
    Ngày gia nhập
    10 2011
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi phamngoan000 Xem bài viết
    private void button1_Click(object sender, EventArgs e)
    {
    dtClass.Clear();
    SqlCommand command = new SqlCommand();
    command.Connection = con;
    command.CommandType = CommandType.Text;
    command.CommandText = @"select
    mahs as N'Mahs',
    mamon as N'Mamon',
    hk as N'Hocky',
    diemlan1 as N'Diemlan1',
    ghichu as N'Ghichu',
    diemlan2 as N'Diemlan2'
    from diemthi
    where (mahs like '%' + @Mahs + '%')";
    command.Parameters.Add("@Mahs", SqlDbType.NVarChar,50).Value = txtma.Text;

    da.SelectCommand = command;
    da.Fill(dtClass);// em sai ngay chổ này.
    if (dtClass.Rows.Count > 0)
    {
    dataGridView1.DataSource = dtClass;
    }
    else
    {
    MessageBox.Show("Khong tim thay du lieu phu hop!", "THONG BAO", MessageBoxButtons.OK);
    }
    }
    ---------------------------------------------------
    Em chuẩn bị nộp đồ án về phần C# . Mong mọi người giúp em với.
    1:dtclass bai đã khai báo chưa,mà ơ đó clear:|
    2:thuộc tính Fill mình nhớ ko sai là chỉ xài ơ SqlDataAdapter ma phải ko,rồi cái "da" bạn lấy ơ đâu vậy


    tìm kiếm sv bạn làm theo cách mình thư xem(code mới ghi nen sai sot gi thi a/e dung nem gạch nghe)
    Code:
    SqlConnection Con=new SqlConnection();
    Con.Connectstring="chuoi ket noi toi CSDL của bạn"
    Con.Open();
    datatable dt=new datatable()
    string SQL="cau sql tim kiem theo ma sinh vien"(tu ghi nha)
    SqlDataAdapter adp=new SqlDataAdapter(SQL,Con)
    adp.Fill(dt)
    if(dt.Rows.Count>0)
       GridView.DataSource=dt
    else
       MessageBox.Show("Ko tim thay");
    Con.Close()
    Đã được chỉnh sửa lần cuối bởi dragonball90 : 14-12-2011 lúc 09:46 AM.

  6. #6
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Mặc định Fill: SelectCommand.Connection property has not been initialized.?

    Chịu thôi.
    con là cái biến connection, dùng để cho command nối vào database server. Không biết nó ở đâu ra thì lấy gì sửa lỗi?

  7. #7
    Ngày gia nhập
    12 2011
    Bài viết
    11

    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Windows.Forms;
    9. using System.Data.SqlClient;
    10. using System.Configuration;
    11. using System.IO;
    12. using System.Data.OleDb;
    13.  
    14. namespace WindowsFormsApplication1
    15. {
    16.     public partial class xemdiem : Form
    17.     {
    18.         private SqlConnection con;
    19.         private SqlConnection Connection
    20.         {
    21.             get
    22.             {
    23.                 if (con == null)
    24.                 {
    25.                     String cn = "Server=TGS-PC\\SQLEXPRESS;database=quanlysinhvien;user id=sa;password=P@ssw0rd";
    26.                     con = new SqlConnection(cn);
    27.                 }
    28.  
    29.                 if (con.State == ConnectionState.Closed)
    30.                 {
    31.                     con.Open();
    32.                 }
    33.  
    34.                 return con;
    35.             }
    36.         }
    37.  
    38.         private DataTable dtClass = new DataTable("diemthi");
    39.         private DataTable dthk = new DataTable("hocky");
    40.        
    41.         private SqlDataAdapter da = new SqlDataAdapter();
    42.         private void connect()
    43.         {
    44.             String cn = "Server=TGS-PC\\SQLEXPRESS;database=quanlysinhvien;user id=sa;password=P@ssw0rd";
    45.             try
    46.             {
    47.                 con = new SqlConnection(cn);
    48.                 con.Open();
    49.             }
    50.             catch
    51.             {
    52.                 MessageBox.Show("Không thể kết nối tới cơ sở dữ liệu!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    53.             }
    54.         }
    55.    
    56.         private void disconnect()
    57.         {
    58.             con.Close();
    59.             con.Dispose();
    60.             con = null;
    61.         }
    62.  
    63.         private void binding()
    64.         {
    65.             txtmasv.DataBindings.Clear();
    66.             txtmasv.DataBindings.Add("Text", dataGridView1.DataSource, "Mahs");
    67.             txtmamon.DataBindings.Clear();
    68.             txtmamon.DataBindings.Add("Text", dataGridView1.DataSource, "mamon");
    69.             txtdiem.DataBindings.Clear();
    70.             txtdiem.DataBindings.Add("Text", dataGridView1.DataSource, "Diemlan1");
    71.             hocky.DataBindings.Clear();
    72.             hocky.DataBindings.Add("Text", dataGridView1.DataSource, "Hocky");
    73.             txtdiem2.DataBindings.Clear();
    74.             txtdiem2.DataBindings.Add("Text", dataGridView1.DataSource, "Diemlan2");
    75.             ghichu.DataBindings.Clear();
    76.             ghichu.DataBindings.Add("Text", dataGridView1.DataSource, "Ghichu");          
    77.         }
    78.         private void getdata()
    79.         {
    80.             SqlCommand command = new SqlCommand();
    81.  
    82.             command.Connection = con;
    83.             command.CommandType = CommandType.Text;
    84.             command.CommandText = @"    select
    85.                                     mahs as N'Mahs',
    86.                                     mamon as N'Mamon',
    87.                                     hk as N'Hocky',
    88.                                     diemlan1 as N'Diemlan1',
    89.                                     ghichu as N'Ghichu',
    90.                                     diemlan2 as N'Diemlan2'
    91.                                     from diemthi
    92. ";
    93.          
    94.             da.SelectCommand = command;
    95.             da.Fill(dtClass);
    96.             dataGridView1.DataSource = dtClass;
    97.  
    98.             command.CommandText = @"Select * from diemthi";
    99.             da.SelectCommand = command;
    100.             da.Fill(dtClass);
    101.  
    102.             command.CommandText = @"Select *from hocky";
    103.             da.SelectCommand = command;
    104.             da.Fill(dthk);
    105.  
    106.  
    107.             txthk.DataSource = dthk;
    108.  
    109.             txthk.DisplayMember = "ghichu";
    110.             txthk.ValueMember = "hk";
    111.             txthk.SelectedValue = "hk";
    112.  
    113.         }
    114.         public xemdiem()
    115.         {
    116.             InitializeComponent();
    117.         }
    118.  
    119.         private void xemdiem_Load(object sender, EventArgs e)
    120.         {
    121.             connect();
    122.             getdata();
    123.             binding();
    124.             disconnect();
    125.         }
    126.  
    127.  
    128.  
    129.      
    130.  
    131.         private void textBox3_TextChanged(object sender, EventArgs e)
    132.         {
    133.  
    134.         }
    135.  
    136.         private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    137.         {
    138.  
    139.         }
    140.  
    141.         private void button1_Click(object sender, EventArgs e)
    142.         {
    143.             dtClass.Clear();
    144.             SqlCommand command = new SqlCommand();
    145.             command.Connection = con;
    146.             command.CommandType = CommandType.Text;
    147.             command.CommandText = @"select
    148.                                                 mahs as N'Mahs',
    149.                                                 mamon as N'Mamon',
    150.                                                 hk as N'Hocky',
    151.                                                 diemlan1 as N'Diemlan1',
    152.                                                 ghichu as N'Ghichu',
    153.                                                 diemlan2 as N'Diemlan2'
    154.                                                 from diemthi
    155.                                             where  (mahs like '%' + @Mahs + '%')";             
    156.             command.Parameters.Add("@Mahs", SqlDbType.NVarChar,50).Value = txtma.Text;
    157.    
    158.             da.SelectCommand = command;
    159.             da.Fill(dtClass);// sai ngay day ?. Em in được danh sách điểm. Nhưng tìm thì chưa ra.
    160.                                   // nhập mã tìm thì no hiện ra thông báo .Fill: SelectCommand.Connection    property has not been initialized.
    161.             if (dtClass.Rows.Count > 0)
    162.             {
    163.                 dataGridView1.DataSource = dtClass;
    164.             }
    165.             else
    166.             {
    167.                 MessageBox.Show("Khong tim thay du lieu phu hop!", "THONG BAO", MessageBoxButtons.OK);
    168.             }
    169.         }
    170.  
    171.         private void button6_Click(object sender, EventArgs e)
    172.         {
    173.             Close();
    174.             Dispose();
    175.         }
    176.     }
    177. }
    Đã được chỉnh sửa lần cuối bởi huuhung : 14-12-2011 lúc 11:31 AM. Lý do: Cho code vào thẻ

  8. #8
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trong cái class xemdiem, con là một trường (field), nó chẳng có hàm nào để làm việc cả.
    Connection mới là một thuộc tính (property), khi truy cập nó thì phương thức get mới khởi động trường con.

    Code của bạn không hề truy cập (xemdiem).Connection cho nên trường con không hề được khởi động.

    tb cách đặt trường con và thuộc tính Connection như code này rất nguy hiểm. Người nào cho bạn code này là dân viết code mò.

  9. #9
    Ngày gia nhập
    12 2011
    Bài viết
    11

    Mình xem tren video và nhờ bạn nó chỉ giùm. nhưng vẫn không ra. trên mạng nó làm thi ra. Hix. nhờ bạn giúp mình . Giờ mình không biết làm thế nào.

  10. #10
    Ngày gia nhập
    12 2011
    Bài viết
    11

    Ai có thể giúp mình . YH:phamngo_an2000@yahoo.com. Teamview máy mình đễ sửa lổi. mình sẽ trả ơn. Mình đang cần gấp. để nộp đồ án. C# mình chưa học nên không hiểu rõ những lỗi sai. Thanks

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

  1. lối "The ConnectionString property has not been initialized."
    Gửi bởi hjjcanha trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 30-09-2014, 11:09 AM
  2. "Property" cho method, property
    Gửi bởi Riku trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 27-08-2013, 03:42 PM
  3. Fill: SelectCommand.Connection thuộc tính đã không được khởi tạo.
    Gửi bởi nguyenphuongtrang trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 17
    Bài viết cuối: 22-05-2011, 09:44 PM
  4. wcf lỗi :The underlying connection was closed: The connection was closed unexpectedly.
    Gửi bởi dongdoidoithay trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 09-10-2010, 03:22 AM
  5. Lỗi: The ConnectionString property has not been initialized. Mặc dù đã có chuỗi?
    Gửi bởi tigerpro trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 30-09-2010, 04:08 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