将数据插入MySQL

时间:2012-03-22 13:37:40

标签: c# mysql insert prepared-statement

我正在尝试将数据插入MYSQL数据库,我创建了以下方法,以便我将是通用的,因为我将需要将大量数据插入数据库,

localhost上的数据库

这是我创建的方法,它正在被这样使用。

       public void QueryBuilder(string command, string table, string[] columns, object[] values)
    {
        string insertStatement = command + " INTO " + table + "(";

        foreach (string column in columns)
        {
            insertStatement = insertStatement + column + ",";
        }

        insertStatement = insertStatement.Remove(insertStatement.Length - 1) + ") VALUES (";

        int countParam = 1;
        string[] paramList = new string[values.Length];

        foreach (object val in values)
        {
            string paramName = "@param" + countParam;
            paramList[countParam - 1] = paramName;
            countParam++;
            insertStatement = insertStatement + paramName + ",";
        }

        insertStatement = insertStatement.Remove(insertStatement.LastIndexOf(',')) + ")";

        MySqlCommand com = new MySqlCommand(insertStatement, register.connection);

        for (int i = 0; i < paramList.Length; i++)
        {
            com.Parameters.AddWithValue(paramList[i], values[i]);
        }
    }

这就是它的名称

            rg.DatabaseConnection("localhost","root"," ","login");

        rg.Open();

        object[] myobj = new object[2];

        myobj[0] = username1;
        myobj[1] = password1;


        string[] mystring = new string[2];

        mystring[0] = "username";
        mystring[1] = "password";

        QueryBuilder("INSERT","users",mystring,myobj);

        rg.Close();

有些人会很好,因为我不知道出了什么问题......

问题是没有syntex错误,但数据没有插入数据库?!!

谢谢和问候.. :)

1 个答案:

答案 0 :(得分:1)

首先,添加

com.ExecuteNonQuery();

在QueryBuilder方法的最后(或者,如果要将函数保留为“QueryBuilder”而不是“QueryBuilderAndExecuter”,则返回命令对象然后执行它。)