我正在尝试将数据插入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错误,但数据没有插入数据库?!!
谢谢和问候.. :)
答案 0 :(得分:1)
首先,添加
com.ExecuteNonQuery();
在QueryBuilder方法的最后(或者,如果要将函数保留为“QueryBuilder”而不是“QueryBuilderAndExecuter”,则返回命令对象然后执行它。)