在程序中写insert插入数据库。你的程序已经实现了这个功能,但是你的代码有点问题就是你执行insert前执行了mysqlcon.close(),这是不对的,这个只需要在finally里面就可以。else分支里面也需要执行insert操作。另外你的程序还报什么错吗?
string username = textBox1.Text;
string userpwd = textBox2.Text;
string time=DateTime.Now.ToString();
string mycon = "Server=.;user=sa;pwd=123456;database=SiasunTest";
SqlConnection mysqlcon = new SqlConnection(mycon);
mysqlcon.Open();
string a = "Select * from [User] where name='" + username + "' and pwd='" + userpwd + "'";
SqlCommand mycom = new SqlCommand(a,mysqlcon);
SqlDataReader mydr = mycom.ExecuteReader();
//更新到SQL数据库中的表中
try {
bool flag = mydr.Read();
mydr.Close();
if(flag) {
MessageBox.Show("成功登录");
string B = $"insert into [User](name, time) values('{username}','{time}')";
SqlCommand sqlCommand = new SqlCommand(B,mysqlcon);
sqlCommand.ExecuteNonQuery();
} else {
MessageBox.Show("登录失败,请重新登录");
string B = $"insert into [User] (name, time) values('{username}','{time}')";
SqlCommand sqlCommand = new SqlCommand(B,mysqlcon);
sqlCommand.ExecuteNonQuery();
textBox1.Clear();
textBox2.Clear();
textBox1.Focus();
}
} catch (Exception ex) {
MessageBox.Show(ex.Message.ToString());
Console.WriteLine(ex.Message.ToString());
} finally {
mysqlcon.Close();
}
如果有用,望采纳,谢谢!
我怀疑你是在保存之前出错了,导致没有插入数据,
你贴的代码,应该包含插入那块,目前你那边还缺失。
你的INSERT语句有语法错误,正确的INSERT语句格式是这样的:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
注意: 是
INSERT INTO ...
所以,你的对应应该类似这样:
string B = $"insert into [User](name, time)values('{username}','{time}')";
在操作数据库时,需要保持与数据库的连接,所以把下图中的两条语句去掉: