2016-05-19 4 views
0

バインディングソースのないテーブルを作成しましたが、MYSQLにあるデータベースのテーブルの行を表示したいとします。このコードは、テーブルを作成したDataGridViewに接続します:MSSQL Serverのヘルプデータテーブルで行を塗りつぶします

public void DynamicallyTable() 
     { 
      // create table dynamically 
      dt = new DataTable(); 
      // add column name 
      dt.Columns.Add(COLUMN1, typeof(int)); 
      dt.Columns.Add(COLUMN2, typeof(string)); 
      dt.Columns.Add(COLUMN3, typeof(string)); 
      dt.Columns.Add(COLUMN4, typeof(string)); 
      dt.Columns.Add(COLUMN5, typeof(string)); 
      dt.Columns.Add(COLUMN6, typeof(string)); 
      dt.Columns.Add(COLUMN7, typeof(int)); 

      dataGridView1.DataSource = dt; 
     } 

このレコードは、のForm_LoadコードであるとのDataGridViewの外部キーで仕事をするためにどのように?問題は、アダプタなしの行の値を表示することです(たとえば、DataGridViewで行を塗りつぶして外部キーを操作するなど)。私を助けて、あなたの答えに感謝してください! Int64型に文字列からパラメータ値を変換に失敗しました:「正しくない出力形式を実行してください」:私はその方法が、プログラムのエラーを使用することができます

cmd.CommandType = CommandType.Text; 
       connection.Open(); 
       cmd.Parameters.Add("@hut", SqlDbType.Int).Value = 4; 
       cmd.Parameters.Add("@spisanie_id", SqlDbType.BigInt).Value = IDtextBox.Text; 
       cmd.Parameters.Add("@prichanie_spis", SqlDbType.NVarChar).Value = PrichinatextBox.Text; 
       cmd.Parameters.Add("@data_spis", SqlDbType.Date).Value = dateEdit.Text; 
       rdr = cmd.ExecuteReader(); //this error shows here 
       while (rdr.Read()) 
       { 
        dataGridView1.Rows.Add((string)rdr["Prichina"], (string.Format("{0:yyyy-MM-dd}", rdr["data"])));     
       } 

私はエラーがDataGridViewのにビューの他の方法を見つけました

cmd.Parameters.Add("@hut", SqlDbType.Int); 
      cmd.Parameters["@hut"].Direction = ParameterDirection.Input; 
      cmd.Parameters["@hut"].Value = 4; 
      cmd.Parameters.Add("@spisanie_id", SqlDbType.BigInt); 
      cmd.Parameters["@spisanie_id"].Direction = ParameterDirection.Input; 
      cmd.Parameters["@spisanie_id"].Value = Convert.ToInt64(IDtextBox.Text); 
      cmd.Parameters.Add("@prichanie_spis", SqlDbType.NVarChar); 
      cmd.Parameters["@prichanie_spis"].Direction = ParameterDirection.Input; 
      cmd.Parameters["@prichanie_spis"].Value = PrichinatextBox.Text; 
      cmd.Parameters.Add("@data_spis", SqlDbType.Date); 
      cmd.Parameters["@data_spis"].Direction = ParameterDirection.Input; 
      cmd.Parameters["@data_spis"].Value = dateEdit.Value.Date; 

私は道を発見し、あなたと共有:

dataGridView1.Rows.Clear(); 
    cmd = new SqlCommand("dbo.sp_test", connection); 
    cmd.CommandType = CommandType.StoredProcedure; 
    connection.Open(); 
    cmd.Parameters.Add("@taw", SqlDbType.Int); 
    cmd.Parameters["@taw"].Direction = ParameterDirection.Input; 
    cmd.Parameters["@taw"].Value = 4; 
    cmd.Parameters.Add("@value", SqlDbType.BigInt); 
    cmd.Parameters["@value"].Direction = ParameterDirection.Input; 
    cmd.Parameters["@value"].Value = DBNull.Value; 
    cmd.Parameters.Add("@value1", SqlDbType.NVarChar); 
    cmd.Parameters["@value1"].Direction = ParameterDirection.Input; 
    cmd.Parameters["@value1"].Value = DBNull.Value; 
    cmd.Parameters.Add("@value2", SqlDbType.Date); 
    cmd.Parameters["@value2"].Direction = ParameterDirection.Input; 
    cmd.Parameters["@value2"].Value = DBNull.Value; 
    rdr = cmd.ExecuteReader(); 
    while (rdr.Read()) 
    { 
     dataGridView1.Rows.Add(rdr["your_column"].ToString(), (string)rdr["your_column1"].ToString(), (string.Format("{0:yyyy-MM-dd}", rdr["your_column"])).ToString());     
    } 
    connection.Close(); 
+0

は、多分それは私だけですが、あなたはあなたの質問を翻訳するのに役立つ可能性があり、より良い英語のスキルを持つ人を見つけることを試みることができますか?私はあなたが何を求めようとしているのか理解できません。 –

+0

それはMySqlまたはSqlServerですか?彼らは2つの異なる製品です。 –

答えて

0

あなたが使用する必要があります特定のパラメータのためのParse()

... 
    cmd.Parameters.Add("@spisanie_id", SqlDbType.BigInt).Value = BigInteger.Parse(IDtextBox.Text); 
    cmd.Parameters.Add("@prichanie_spis", SqlDbType.NVarChar).Value = PrichinatextBox.Text; 
    cmd.Parameters.Add("@data_spis", SqlDbType.Date).Value = DateTime.Parse(dateEdit.Text); 
    ...