使用C在MS Access中未插入数据# private void按钮1\u单击(对象发送者,事件参数e) { 尝试 { OleDbConnection connection=新的OleDbConnection(); connection.ConnectionString=@“Provider=Microsoft.ACE.OLEDB.12.0;数据源=C:\Users\Sanket\Desktop\Practice\C#Practice\AIChatbot\Db\Login.accdb;持久安全信息=False;”; connection.Open(); string query=“插入userLogin(用户名、密码)值(“+tuser.Text+”、“+tpassword.Text+”)”; OleDbCommand cmd=新的OleDbCommand(查询、连接); int a=cmd.ExecuteNonQuery(); connection.Close(); } 捕获(例外c) { MessageBox.Show(“错误”+c); } }
以下是当前代码的问题:使用C在MS Access中未插入数据# private void按钮1\u单击(对象发送者,事件参数e) { 尝试 { OleDbConnection connection=新的OleDbConnection(); connection.ConnectionString=@“Provider=Microsoft.ACE.OLEDB.12.0;数据源=C:\Users\Sanket\Desktop\Practice\C#Practice\AIChatbot\Db\Login.accdb;持久安全信息=False;”; connection.Open(); string query=“插入userLogin(用户名、密码)值(“+tuser.Text+”、“+tpassword.Text+”)”; OleDbCommand cmd=新的OleDbCommand(查询、连接); int a=cmd.ExecuteNonQuery(); connection.Close(); } 捕获(例外c) { MessageBox.Show(“错误”+c); } },c#,C#,以下是当前代码的问题: 密码是Access中的保留关键字。你需要把它包起来 方括号 连接字符串以创建SQL查询是众所周知的 问题(,解析) 应打开、使用连接,然后进行处置。使用 声明 从安全角度来看,另一个弱点是在数据库中以纯文本形式存储密码。任何能够复制该文件的人都知道您的用户密码。搜索以将其存储在数据库中 private void button1_Click(object sender, EventArgs e) { try { using(OleDbC
- 密码是Access中的保留关键字。你需要把它包起来 方括号
- 连接字符串以创建SQL查询是众所周知的 问题(,解析)
- 应打开、使用连接,然后进行处置。使用 声明
private void button1_Click(object sender, EventArgs e)
{
try
{
using(OleDbConnection connection = new OleDbConnection())
{
connection.ConnectionString = @".....";
connection.Open();
string query = @"insert into userLogin(username,[password])
values(@user, @pass)";
OleDbCommand cmd = new OleDbCommand(query,connection);
cmd.Parameters.Add("@user", OleDbType.VarWChar).Value = tuser.Text;
cmd.Parameters.Add("@pass", OleDbType.VarWChar).Value = tpassword.Text;
int a = cmd.ExecuteNonQuery();
}
}
catch (Exception c)
{
MessageBox.Show("Error"+c);
}
}
-您不应该将SQL语句连接在一起-使用参数化查询来避免SQL注入-签出密码是access中的保留关键字-您需要编写[密码],并尽快学习如何编写参数化查询这是否回答了您的问题?