C#MySQL数据库相关
我想要实现的是从我的第一个表单自动将数据输入MySQL数据库C#MySQL数据库相关,c#,mysql,database,C#,Mysql,Database,我想要实现的是从我的第一个表单自动将数据输入MySQL数据库 RegistryKey rk = Registry.CurrentUser; rk = rk.OpenSubKey("Software\\Microsoft\\Internet Explorer\\TypedURLs", false); PrintKeys(rk); rk.Close(); void PrintKeys(RegistryKey rk)
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");
}
}
现在,我只能在单击此表单时将数据输入数据库。如何在第一个表单中自动保存所有数据,而无需单击每个表单来保存数据?有人能帮忙吗
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");
}
}
提前谢谢
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");
}
}
嗯。。。一些背景可能会有所帮助。从您所说的内容来看,即使是在您的表单上,发布的代码也像是在一次点击中发生的
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");
}
}
如果您只是想在表单加载时立即执行,那么将代码放在表单的onLoad事件中(双击表单标题栏以进入onLoad事件)
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");
}
}
如果这还不够,请更详细/具体地说明您正在尝试做什么。我有一些包含数据的表单。我想将所有数据自动放入MySQL数据库,而不必单击每个表单。根据您所说的,要放入onLoad事件,这意味着我只能在单击该表单时输入数据。@athgap:如果您描述了应用程序的布局方式,那么提供解决方案可能会更容易。您可能希望创建一个对象,其任务是将数据写入数据库,然后在每个窗体上都有该对象的实例。在每种形式中,您都可以有一个计时器,该计时器将定期调用该对象上的必要方法,以将数据插入数据库。
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");
}
}