如何使用SQL将数据插入MS Access文件?

Hel*_*der 2 c# sql ms-access

我在将新数据插入MS Access 2007文件时遇到问题.它说我的SQL语句不正确.

这里有什么问题?我不擅长SQL.请指出我的错误.

            try
            {
                // Open database connection.
                objOleDbConnection.Open();
                objOleDbCommand.CommandText = 
                    "INSERT INTO PersonalData (Type, UserName, Password) VALUES ('" + cmbType.Text + "','" + txtUserName.Text + "','" + txtPassword.Text + "')";
                // Execute creating table command.
                objOleDbCommand.ExecuteNonQuery();
            }
Run Code Online (Sandbox Code Playgroud)

com*_*ech 5

首先,您需要在文本数据周围加上引号:

@"INSERT INTO PersonalData (Type, UserName, Password) VALUES (" + cmbType.SelectedIndex + ",'" + txtUserName.Text + "','" + txtPassword.Text + "')";
Run Code Online (Sandbox Code Playgroud)

但是,将转换为使用参数会更好,因为您不必担心嵌入式引号:

objOleDbCommand.CommandText = @"INSERT INTO PersonalData (Type, UserName, Password) VALUES (?, ?, ?)";

objOleDbCommand.Parameters.Add("Type", cmbType.SelectedIndex); 
objOleDbCommand.Parameters.Add("UserName", txtUserName.Text);
objOleDbCommand.Parameters.Add("Password", txtPassword.Text);
Run Code Online (Sandbox Code Playgroud)