private void button1_Click(object sender, EventArgs e)
{
OleDbConnection coon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\famliy.mdb;");
coon.Open();
string sql = "insert into Familyjcname(famNo,famfamNamejc) values(@1)";
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@1", OleDbType.VarChar).Value = textBox1.Text;
int count = (int)cmd.ExecuteNonQuery(); --- 这里报错:查询值的数目与目标字段中的数目不同
if (count > 0)
{
MessageBox.Show("增加成功");
}
查询倒是可以用,就是增加报错,本来我是整SQL2005的,但是没办法必须要转换成ACCESS的数据库,请各位帮忙看看
{
OleDbConnection coon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\famliy.mdb;");
coon.Open();
string sql = "insert into Familyjcname(famNo,famfamNamejc) values(@1)";
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@1", OleDbType.VarChar).Value = textBox1.Text;
int count = (int)cmd.ExecuteNonQuery(); --- 这里报错:查询值的数目与目标字段中的数目不同
if (count > 0)
{
MessageBox.Show("增加成功");
}
查询倒是可以用,就是增加报错,本来我是整SQL2005的,但是没办法必须要转换成ACCESS的数据库,请各位帮忙看看
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@f1", OleDbType.VarChar).Value = textBox1.Text;
一个值:@1
不一致。
string sql = "insert into Familyjcname(famfamNamejc) values(@f1)";
还是会报错。
这样行不通的。
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@1", OleDbType.VarChar).Value = textBox1.Text; 把你的textBox1.Text的值换一个值,如;"AAA"...
看还会出错不,感觉可能是传入的变量出问题了.
错误信息是什么?自动增长列是不能写在insert的字段列表中的。
insert into Familyjcname(famfamNamejc) values('abcd')
我也是直接用SQLSERVER2005直接导出给ACCESS的,然后也在ACCESS这边修改了自增列。
有两张表,前面一张表做的没问题,但是第二张表给前面类似的,可是插入语句就是一直报错,更新也不行,只有删除没问题,对ACCESS真是不会用,还望下面有高人继续指点啊
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@1", OleDbType.VarChar).Value = textBox1.Text;
string sql="insert into Familyjcaname(famNo,famfamNamejc) values(@1)";
感觉是这样错了。。
我以前也碰国类似的问题
正解是:
string sql = "insert into [Familyjcname]([famfamNamejc]) values(@1)";
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@1", OleDbType.VarChar).Value = textBox1.Text;
我以前也碰到类似的问题
正解是:
string sql = "insert into [Familyjcname]([famfamNamejc]) values(@1)";
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@1", OleDbType.VarChar).Value = textBox1.Text;
我以前也碰到类似的问题
正解是:
string sql = "insert into [Familyjcname]([famfamNamejc]) values(@1)";
OleDbCommand cmd = new OleDbCommand(sql, coon);
cmd.Parameters.Add("@1", OleDbType.VarChar).Value = textBox1.Text;