虚心求指导!我在实现增加功能时遇到问题。我是用vS008创建的数据库,用DataGridView直接绑定数据源的,所以没有写连接sql的代码,在app.config文件里我看到它有生成。如果我表达不清楚请指出。求解答。。
代码:
private void Form1_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“database1DataSet1.student”中。您可以根据需要移动或移除它。
this.studentTableAdapter.Fill(this.database1DataSet1.student);
} private void button2_Click(object sender, EventArgs e) //添加
{
string connStr = Properties.Settings.Default.Database1ConnectionString;
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "insert into student(学号,姓名,班级)values(@学号,@姓名,@班级)";
cmd.Connection = conn;
cmd.Parameters.Add("@学号", SqlDbType.Int);
cmd.Parameters.Add("@姓名", SqlDbType.NVarChar, 50);
cmd.Parameters.Add("@班级", SqlDbType.NVarChar, 50);
cmd.Parameters["@学号"].Value = textBox2.Text.Trim();
cmd.Parameters["@姓名"].Value = textBox3.Text.Trim();
cmd.Parameters["@班级"].Value = textBox4.Text.Trim();
cmd.ExecuteNonQuery();
}
cmd.ExecuteNonQuery(); 这句提示ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭。
请各路大神帮帮忙,具体指出怎么改。我还需要删除和修改的代码。先谢谢了。winform数据库c#sql
代码:
private void Form1_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“database1DataSet1.student”中。您可以根据需要移动或移除它。
this.studentTableAdapter.Fill(this.database1DataSet1.student);
} private void button2_Click(object sender, EventArgs e) //添加
{
string connStr = Properties.Settings.Default.Database1ConnectionString;
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "insert into student(学号,姓名,班级)values(@学号,@姓名,@班级)";
cmd.Connection = conn;
cmd.Parameters.Add("@学号", SqlDbType.Int);
cmd.Parameters.Add("@姓名", SqlDbType.NVarChar, 50);
cmd.Parameters.Add("@班级", SqlDbType.NVarChar, 50);
cmd.Parameters["@学号"].Value = textBox2.Text.Trim();
cmd.Parameters["@姓名"].Value = textBox3.Text.Trim();
cmd.Parameters["@班级"].Value = textBox4.Text.Trim();
cmd.ExecuteNonQuery();
}
cmd.ExecuteNonQuery(); 这句提示ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭。
请各路大神帮帮忙,具体指出怎么改。我还需要删除和修改的代码。先谢谢了。winform数据库c#sql
建表的时候最好都用英文来表达,否则会出现一些意外错误
conn.Open();//一定要打开链接,才能进行数据库操作。
谢谢各位,我加上conn.open();后,又有问题了,还是那句,这次是这样的:
',' 附近有语法错误。
我还想问问,我这样写的添加代码有问题吗?
cmd.CommandText = "insert into student(学号,姓名,班级)values(@学号,@姓名,@班级)";
string varNumber = textBox1.Text.Trim();
if (varNumber == "")
{
MessageBox.Show("请输入你要查询的学号", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
string connStr = Properties.Settings.Default.StudentConnectionString;
OleDbConnection conn = new OleDbConnection(connStr);
OleDbDataAdapter adapter = new OleDbDataAdapter("select * from student where [学号] ='" + varNumber + "'", conn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
DataTable table = new DataTable();
adapter.Fill(table);
studentDataGridView.DataSource = table;出现这样的问题:
在网上说好像Access和SQL是不同的,我不太懂,这个代码我在SQL数据库是没问题的。望解决。
提供另外一个方法吧
在项目中新建-》基于服务的数据库mdf
在new一个连接
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=true;User Instance=true")
AcctachDBFilename最好写绝对路径
然后就操作吧