关于 AutoIncrement的问题
创建一表 ttable
设置了其列 itemid列的 AutoIncrement=true;
AutoIncrementSeed=0 ;
AutoIncrementStep=1;
然后 trow=ttable.newrow();
然后 给trow的除itemid列以外的列赋值
再然后 ttable.addrow(trow);
他説 trow的itemid列的值为空?
那他这个自动增加的值到底什么时候自动增加?
问题点数:50、回复次数:9Top
1 楼32757487(maomao)回复于 2004-09-01 22:55:50 得分 0
执行newrow方法时不增加?Top
2 楼32757487(maomao)回复于 2004-09-02 08:53:38 得分 0
一晚上没人顶?Top
3 楼daguzhang(MoonWell)回复于 2004-09-02 09:29:27 得分 10
DataColumn myColumn = new DataColumn();
myColumn.DataType = System.Type.GetType("System.Int32");
myColumn.AutoIncrement = true;
myColumn.AutoIncrementSeed = 1000;
myColumn.AutoIncrementStep = 10;
yourTable.Columns.Add(myColumn);Top
4 楼daguzhang(MoonWell)回复于 2004-09-02 09:32:05 得分 10
然后在执行了
yourTable.Rows.Add(其他字段的值)后 回自动的添加Top
5 楼32757487(maomao)回复于 2004-09-02 09:33:43 得分 0
试过,不行
会不会是因为把他设为主键了?Top
6 楼daguzhang(MoonWell)回复于 2004-09-02 09:34:17 得分 10
dtblFunctionalArea = new DataTable ("FunctionArea");
string[] arrstrFunctionalArea = new string [7]{"字段名","别名","类型","长度","是否允许为空","是否唯一","默认值"};
DataColumn dtCol = null;
//创建String列
for(int i=0; i< 4;i++)
{
dtCol = new DataColumn(arrstrFunctionalArea[i]);
dtCol.DataType = Type.GetType("System.String");
dtCol.DefaultValue = "";
dtblFunctionalArea.Columns.Add(dtCol);
}
//创建Boolean列,用CheckedBox来显示。
for(int i=4; i<6;i++)
{
dtCol = new DataColumn(arrstrFunctionalArea[i]);
dtCol.DataType = System.Type.GetType("System.Boolean");
dtCol.DefaultValue = false;
dtblFunctionalArea.Columns.Add(dtCol);
}
dtCol = new DataColumn(arrstrFunctionalArea[6]);
dtCol.DataType = Type.GetType("System.String");
dtCol.DefaultValue = null;
dtblFunctionalArea.Columns.Add(dtCol);
DataColumn myColumn = new DataColumn();
myColumn.DataType = System.Type.GetType("System.Int32");
myColumn.AutoIncrement = true;
myColumn.AutoIncrementSeed = 1000;
myColumn.AutoIncrementStep = 10;
dtblFunctionalArea.Columns.Add(myColumn);
//把表绑定到DataGrid
dtblFunctionalArea.Rows.Add(new string[7]{"0","1","int","1","true","false","ddd"});
dtblFunctionalArea.Rows.Add(new string[7]{"0","1","int","1","true","false","ddd"});
dgdFunctionArea.DataSource = dtblFunctionalArea;Top
7 楼daguzhang(MoonWell)回复于 2004-09-02 09:35:54 得分 10
你的代码贴出来看看
自动增加的值是在dtblFunctionalArea.Rows.Add(new string[7]{"0","1","int","1","true","false","ddd"});后就添加的
Top
8 楼daguzhang(MoonWell)回复于 2004-09-02 09:38:09 得分 10
应该不会Top
9 楼32757487(maomao)回复于 2004-09-02 09:44:35 得分 0
搞定,结贴~
谢谢各位捧场Top




