当前位置:编程学习 > C#/ASP.NET >>

从access中读取和插入数据问题

access,表1中有一个id列为自动增长列~
我想在C#中用insert into...vcalues...语句插入数据~
为什么不能像在sql server中那样子不写id列的值就可以插入?而access中已经设置了自支增长怎么还要写值才行?
还有一个小问题就是我用
select max(id) from cp

OleDbDataReader reader = null;
            //DataSet ds = null;
            reader = selectIdBll(ref msg);
            if (!reader.HasRows)
            {
                MessageBox.Show(msg);
            }
            else
            {
                while (reader.Read())
                {
                    id = Convert.ToInt32(reader["id"]);
              // 这里会报异常:indexoutofrangeexception
               //而改成查找其他列都没有事?
               }
           }
           reader.Close();
--------------------编程问答-------------------- --------------------编程问答-------------------- access中已经设置了自支增长怎么还要写值才行?
-------------------------------------------
不是吧。贴你的代码。


select max(id) as id from cp


while (reader.Read())
 {

       
     id = Convert.ToInt32(reader[0]);
              
}
--------------------编程问答--------------------
引用 2 楼 xray2005 的回复:
access中已经设置了自支增长怎么还要写值才行?
-------------------------------------------
不是吧。贴你的代码。


select max(id) as id from cp


while (reader.Read())
 {

       
     id = Convert.ToInt32(reader[0]);
……

 我也不知道啊。。我在access里面写sql代码测试插入。就是的
不写id列就报错~~ --------------------编程问答-------------------- ????没看到和插入记录有什么关系

你上面的代码不是获取吗? select max(id) as id from cp
名字叫id,然后你下面的id = Convert.ToInt32(reader["id"]); "id" 才找得到。 --------------------编程问答-------------------- 都不考虑并发的吗?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,