Вставить данные в MySQL - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь вставить данные в базу данных MYSQL, я создал следующий метод, чтобы я был универсальным, поскольку мне понадобится вставить много данных в базу данных,

База данных на локальном хосте

Это метод, который я создал, и он используется вот так.

       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();

Некоторые hlp были бы великолепны, так как я не знаю, что происходит не так ...

Проблема в том, что нет синтаксических ошибок, но данные не вставляются в базу данных? !!

Спасибо и С уважением .. :)

1 Ответ

1 голос
/ 22 марта 2012

Для начала добавьте

com.ExecuteNonQuery();

В конце вашего метода QueryBuilder (или же верните объект команды и затем выполните его, если вы хотите сохранить функцию как «QueryBuilder», а не «QueryBuilderAndExecuter»)).

...