2013-03-13 95 views
0

我需要做的是基本上将用户名(已经存储为变量)和他们的分数(也是一个变量)存储在我的数据库中,当他们按'提交' 。这里是我点击按钮的代码。从窗口获取数据

private void btnSubmitScore_Click(object sender, EventArgs e) 
{ 
    string connStr = "server=server; " + 
        "database=databasename; " + 
        "uid=username; " + 
        "pwd=password;"; 
    MySqlConnection myConn = new MySqlConnection(connStr); 
} 

很明显,我已经改变了login细节等,我不得不环顾四周,并只设法找到有关如何在表单中显示数据库中的数据(我会做这个版本)混乱的代码,但现在,我需要知道如何将sNameiTotalScore添加到数据库中。 (字段在DB称为'Name''Score'

+0

请尝试发布更清洁的代码示例。这并不是完全不可读的,但这是一个很好的习惯,因为对潜在的回答者来说,这是一件小事。 – millimoose

+0

此外,Connector/NET附带教程:http://dev.mysql.com/doc/refman/5.6/en/connector-net-tutorials-intro.html。这似乎是他们应该充分涵盖的主题。 – millimoose

+0

我看了一下链接,但这一切对我来说都没有什么意义,我只是无法摆脱它。如果我将我的整个代码发布到表单中,它会有帮助吗? –

回答

0

我不熟悉MySQL连接,但代码应该是沿着线的东西:您要使用的SqlConnection组合

private void Insert() 
{ 
    string connStr = "server=server; " + 
       "database=databasename; " + 
       "uid=username; " + 
       "pwd=password;"; 

    string query = "INSERT INTO TableName('Name','Score) VALUES (@name, @score);"; 

    using(MySqlConnection connection = new MySqlConnection(connStr)) 
    { 
     MySqlCommand insertCommand = new MySqlCommand(connection,command); 
     insertCommand.Paramaters.AddWithValue("@name",sName); 
     insertCommand.Paramaters.AddWithValue("@score",iTotalScore); 
     connection.Open(); 
     command.ExecuteNonQuery(); 
     connection.Close(); 
    } 
} 
+0

正如@millimoose提到的,你应该查阅文档的确切语法。 – mematei

+1

您已重复您的'@ name'参数,而不是同时添加'@ score'。 (我将编辑修复!) –

0

SqlCommand及其属性。连接本质上就是你的代码的东西。该命令是一个文字SQL语句或对存储过程的调用。

常见的C#成语是周围形成的第一行代码如下所示:

using (SqlConnection myConnection = new SqlConnection()) { 
    string doThis = "select this, that from someTable where this is not null"; 
    SqlCommand myCommand = new SqlCommand(dothis, myConnection); 

    try { 
     myCommand.Connection.Open(); 
     myReader = myCommand.ExecuteReader(); //pretend "myReader" was declared earlier 

    } catch (Exception myEx) { 
     // left to your imagination, and googling. 
    } 
    finally { 
     myCommand.Connection.Close(); 
    } 
} 

// do something with the results. Your's to google and figure out 

一般概述

  1. 使用连接
  2. 实例化和配置的SqlCommand
  3. 如图所示使用try/catch。
  4. “使用”块提供了在幕后清理/处理所有这些当我们完成后不再需要的对象;特别是SqlConnection对象。

您必须了解更多关于这些Sqlxxxxx类,有很多方法可以配置它们以执行您想要的操作。

+1

你已经描述了一个Sql选择,但问题在于引用一个'INSERT'(或者''UPDATE')操作。 –