簡體   English   中英

使用C#查詢的Datagridview

[英]Datagridview with query in C#

我在MySql中有2個表(privacy,lawsuit_under_500),在隱私中我有2列(id,nameofcase),在lawsuit_under_500中有4列(id,nameofcase,priceone,pricetwo),我用datagridview制作了一個表單,我想執行這個查詢:

select  privacy.id,lawsuit_under_500.id,privacy.nameofcase, lawsuit_under_500.priceone, lawsuit_under_500.pricetwo
From privacy inner join lawsuit_under_500
where  lawsuit_under_500.id=5 and privacy.id=1 || lawsuit_under_500.id=1 and privacy.id=2  || lawsuit_under_500.id=10 and privacy.id=3
ORDER BY privacy.id  

在表格中,我有:

  public Form55()
        {
            InitializeComponent();
        }

        private void Form55_Load(object sender, EventArgs e)
        {

        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

我已將表放入DataSet中,但無法弄清楚如何制作。 我試圖在datagridview中使privacyBindingSourse,並手動為priceone和pricetwo添加了2個按鈕,但我無法放置查詢,因此我可以獲取信息。 任何想法/幫助如何做到這一點?

如果您有任何疑問,請先咨詢我

using MySql.Data.MySqlClient;

MySqlConnection conn = new MySqlConnection("Your MY SQL connection");
MySqlCommand cmd = new MySqlCommand("Your Mysql query");
MySqlDataReader dr=cmd.ExecuteReader();

gridview1.datasource=dr;
gridview1.databind();

// try this also

connectionString = "Your Connection";

connection = new MySqlConnection(connectionString);

if (this.OpenConnection() == true)
{
    mySqlDataAdapter = new MySqlDataAdapter("Your Query", connection);
    DataSet DS = new DataSet();
    mySqlDataAdapter.Fill(DS);
    dataGridView1.DataSource = DS.Tables[0];

    //close connection
    this.CloseConnection();
}

我是這樣做的

 private void Form56_Load(object sender, EventArgs e)
        {


            try
            {
                MySqlConnection cnn = new MySqlConnection("MY CONNECTION");

                cnn.Open();
                // - DEBUG 
                // MessageBox.Show("Connection successful!"); 
                MySqlDataAdapter MyDA = new MySqlDataAdapter();
                MyDA.SelectCommand = new MySqlCommand("MY QUERY", cnn);
                DataTable table = new DataTable();
                MyDA.Fill(table);

                BindingSource bSource = new BindingSource();
                bSource.DataSource = table;

                dataGridView1.DataSource = bSource;

            }
            catch (MySql.Data.MySqlClient.MySqlException ex)
            {
                MessageBox.Show(ex.Message);
                Close();
            }

        }
       static  public SqlCeConnection OpenSQL()
    {
        SqlCeConnection cncount = new SqlCeConnection(@"Data Source = " + Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + @"\Database.sdf; Password =''");
        return cncount;
    }

    static  public DataTable  DoSelect( string strSQL)
    {
        SqlCeConnection cn = OpenSQL();

        DataTable dtRetValue = new DataTable();

        using (SqlCeDataAdapter da = new SqlCeDataAdapter())
        {
            using (SqlCeCommand cmd = cn.CreateCommand())
            {
                cmd.CommandText = strSQL;
                da.SelectCommand = cmd;

                if (cn.State == ConnectionState.Closed)
                {
                    cn.Open();
                }

                try
                {
                    //using (SqlCeDataReader reader = da.SelectCommand.ExecuteReader())
                    SqlCeDataReader metsDr = da.SelectCommand.ExecuteReader();
                    dtRetValue.Load(metsDr);


                    return dtRetValue;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error - DoSelect", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    return null;
                }
            }
        }
    }

插入按鈕

        string sql1 = "YOURE QUERY ";
        DataTable dt1 = SQLcode.DoSelect(sql1);
        dgvcompany.DataSource = dt1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM