2010-12-19 8 views
0

私が達成したいのは、最初のフォームから自動的にMySQLデータベースにデータを入力することです。C#MySQLデータベース関連

このフォームをクリックすると、今はデータベースにデータを入力できます。どのフォームをクリックしてもデータを保存せずにすべてのデータを自動的に最初のフォームに保存するにはどうすればよいですか?誰も助けることができますか?

ありがとうございます。

 RegistryKey rk = Registry.CurrentUser; 
     rk = rk.OpenSubKey("Software\\Microsoft\\Internet Explorer\\TypedURLs", false); 
     PrintKeys(rk); 
     rk.Close(); 

     void PrintKeys(RegistryKey rk) 
     { 
     if (rk == null) 
     { 
      richTextBoxBrowsing.Text = "Browsing history is empty!" + "\n"; 
      return; 
     } 

     richTextBoxBrowsing.AppendText("Subkeys of " + rk.Name + "\n"); 

     try 
     { 
      string[] valnames = rk.GetValueNames(); 

      foreach (string s in valnames) 
      { 
       //int i = richTextBoxBrowsing.SelectionStart; 
       string val = (string)rk.GetValue(s); 
       richTextBoxBrowsing.AppendText("-----------------------------------------------" + "\n"); 
       richTextBoxBrowsing.AppendText(s + "\n"); 
       richTextBoxBrowsing.AppendText(val + "\n"); 

       //create a MySQL connection with a query string 
       MySqlConnection myConn = new MySqlConnection("user id=root; password=qwerty123456; database=syscrawl; server=localhost"); 

       //open the connection 
       myConn.Open(); 

       MySqlCommand myCommand = myConn.CreateCommand(); 

       myCommand.CommandText = 
       "insert into browsing_history (unique_id, url)" 
       + " values " 
       + "('" + s + "', '" + val + "')"; 

       MySqlDataReader myResult = myCommand.ExecuteReader(); 

       //close the connection 
       myConn.Close(); 
      } 
     } 

     catch (Exception MyError) 
     { 
      richTextBoxBrowsing.AppendText("An error has occurred: " + MyError.Message + "\n"); 
     } 
    } 

答えて

1

hm ...いくつかのコンテキストが役立ちます。投稿されたコードのように聞こえてきたことから、あなたのフォーム上でもonClickで起こりますか?

フォームがロードされた直後にフォームをロードする場合は、フォームのonLoadイベントにコードを置きます(フォームのタイトルバーをダブルクリックしてonLoadイベントに移動します)。

これで十分でない場合は、あなたがしようとしていることについてより詳細に具体的にしてください。

+0

私はデータを含むこれらのフォームをいくつか持っています。私はすべてのフォームをクリックせずに自動的にMySQLデータベースにすべてのデータを配置したいと思います。あなたが言っていたことから、onLoadイベントに入れるには、これは、そのフォームをクリックしたときにのみデータを入力できることを意味します。 – athgap

+0

@athgap:アプリケーションの配置方法を説明した場合は、ソリューションを提供するほうが簡単かもしれません。データをデータベースに書き込んだり、各フォームにそのオブジェクトのインスタンスを持つことが懸念されるオブジェクトを作成したい場合があります。各フォームでは、データベースにデータを挿入するために、そのオブジェクトの必要なメソッドを定期的に呼び出すタイマーを持つことができます。 –

関連する問題