C#创建Access数据库时如何设置表中字段默认值为空 AllowDBNull 如果使用者可以将此列设置为空值,或者如果驱动程序不能确定使用者是否可以将此列设置为空值,则为 true。否则为 false。即使列无法设置为空值,它仍可能包含空值。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Access的逻辑字段只有两个值真/假,没有null值有的字段可以有null值,不是每个字段都能有null值 public void Cmake(string filename) { string name = filename; //name.Replace("'", ""); //name.Replace(" ", ""); ADOX.Catalog catalog = new Catalog(); string ss = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=e:\\"+name; string dd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\"+name; catalog.Create(ss);//创建数据库 ADODB.Connection cn = new ADODB.Connection(); cn.Open(dd, null, null, -1); catalog.ActiveConnection = cn; ADOX.Table table = new ADOX.Table();//实例化一个表 table.Name = "自动运算表"; ADOX.Column column = new ADOX.Column();//实例化字段 table.Columns.Append("参数", DataTypeEnum.adInteger, 5); table.Columns.Append("取值图", DataTypeEnum.adInteger, 5); table.Columns.Append("总表行数", DataTypeEnum.adInteger, 5); table.Columns.Append("对零行", DataTypeEnum.adInteger, 5); table.Columns.Append("颜色1", DataTypeEnum.adInteger, 5); table.Columns.Append("颜色2", DataTypeEnum.adInteger, 5); catalog.Tables.Append(table); cn.Close(); }这是我的代码段,请各位大虾 帮忙看看 ,在哪设置 允许为空! 谢谢! 这是我的代码段,问题解决了!拿出来让大家讨论一下 ,有更好的建议请留言!谢谢!ll = dsRead.Tables["Pantent"].Columns.Count;//获取写入的列数 nn = dsRead.Tables["Pantent"].Rows.Count;//获取写入的行数 for (int i = 0; i < dsRead.Tables["Pantent"].Rows.Count; i++) { dsRead.Tables["test"].Rows.InsertAt(dsRead.Tables["test"].NewRow(), i); //dsRead.Tables["test"].Rows[i][0] = i;//给第一个单元格赋值 for (int j = 0; j < dsRead.Tables["Pantent"].Columns.Count; j++) { if (dsRead.Tables["Pantent"].Rows[i][j].ToString().Trim() == "") { dsRead.Tables["test"].Rows[i][j] = DBNull.Value; } else { dsRead.Tables["test"].Rows[i][j] = dsRead.Tables["Pantent"].Rows[i][j]; } } for (int k = dsRead.Tables["Pantent"].Columns.Count; k < dsRead.Tables["test"].Columns.Count; k++) { dsRead.Tables["test"].Rows[i][k] = DBNull.Value; } } 请教一个问题 VS2008 发生诡异现象 已重装多遍依然无法解决 问个基础的问题 我震惊了,C#参数传递的一个超奇怪表现,谁能解释一下 服务器控件的菜鸟问题 关于条形码打印的问题!!(在线等急) 关于winform中TreeView的问题 这个问题可能不算是技术问题,但我还想在这里问一下,所谓团队开发经验是指什么? 关于window.open()的用法 TheAres(班门斧) 请进!我给了你那么多分,这次算是人情吧? 一个关于游戏厅的秘密 C#多页面隐藏跳转网页问题
有的字段可以有null值,不是每个字段都能有null值
{
string name = filename;
//name.Replace("'", "");
//name.Replace(" ", "");
ADOX.Catalog catalog = new Catalog();
string ss = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=e:\\"+name;
string dd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\"+name;
catalog.Create(ss);//创建数据库 ADODB.Connection cn = new ADODB.Connection(); cn.Open(dd, null, null, -1);
catalog.ActiveConnection = cn; ADOX.Table table = new ADOX.Table();//实例化一个表
table.Name = "自动运算表"; ADOX.Column column = new ADOX.Column();//实例化字段
table.Columns.Append("参数", DataTypeEnum.adInteger, 5);
table.Columns.Append("取值图", DataTypeEnum.adInteger, 5);
table.Columns.Append("总表行数", DataTypeEnum.adInteger, 5);
table.Columns.Append("对零行", DataTypeEnum.adInteger, 5);
table.Columns.Append("颜色1", DataTypeEnum.adInteger, 5);
table.Columns.Append("颜色2", DataTypeEnum.adInteger, 5);
catalog.Tables.Append(table); cn.Close();
}
这是我的代码段,请各位大虾 帮忙看看 ,在哪设置 允许为空!
谢谢!
nn = dsRead.Tables["Pantent"].Rows.Count;//获取写入的行数
for (int i = 0; i < dsRead.Tables["Pantent"].Rows.Count; i++)
{
dsRead.Tables["test"].Rows.InsertAt(dsRead.Tables["test"].NewRow(), i);
//dsRead.Tables["test"].Rows[i][0] = i;//给第一个单元格赋值
for (int j = 0; j < dsRead.Tables["Pantent"].Columns.Count; j++)
{
if (dsRead.Tables["Pantent"].Rows[i][j].ToString().Trim() == "")
{
dsRead.Tables["test"].Rows[i][j] = DBNull.Value;
}
else
{
dsRead.Tables["test"].Rows[i][j] = dsRead.Tables["Pantent"].Rows[i][j];
}
}
for (int k = dsRead.Tables["Pantent"].Columns.Count; k < dsRead.Tables["test"].Columns.Count; k++)
{
dsRead.Tables["test"].Rows[i][k] = DBNull.Value;
}
}