首页 / C# / c#-ADOX表列的“空”属性?
c#-ADOX表列的“空”属性?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-ADOX表列的“空”属性?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1651字,纯文字阅读大概需要3分钟。
内容图文
![c#-ADOX表列的“空”属性?](/upload/InfoBanner/zyjiaocheng/675/1799e3d0932843c688580ba9535c223b.jpg)
我正在尝试使用C#创建一个Access文件(.mdb).我正在从SQL导出数据以进行旧式处理.我得到它的工作,我面临的唯一问题是将列设置为可为空.
这是我的内容(为简洁起见,删除了大多数列):
private void CreateAndExportLegacyFile(DataTable data, string exportFilename)
{
var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
connectionString += "Data Source=" + exportFilename + ";Jet OLEDB:Engine Type=5";
var catalog = new Catalog();
catalog.Create(connectionString);
var table = new Table { Name = "Main" };
#region Column mapping
table.Columns.Append("ID", DataTypeEnum.adVarWChar, 50);
table.Columns.Append("FIRST", DataTypeEnum.adVarWChar, 50);
table.Columns.Append("LAST", DataTypeEnum.adVarWChar, 50);
#endregion
foreach (Column column in table.Columns)
{
if (column.Name != "ID") column.Properties["Nullable"].Value = true;
}
catalog.Tables.Append(table);
Marshal.FinalReleaseComObject(table);
Marshal.FinalReleaseComObject(catalog.Tables);
Marshal.FinalReleaseComObject(catalog.ActiveConnection);
Marshal.FinalReleaseComObject(catalog);
}
尝试设置“ Nullable”属性时收到以下错误:“在与所请求名称或顺序相对应的集合中找不到项目”.
我发现有关使用Required还是Nullable的报告相互冲突,但是我尝试了两者,并获得了相同的结果.
知道为什么我无法设置nullable属性吗?我可能很懒,在提取数据时默认将null设置为空格,但是如果可能的话,我希望避免这种情况.
编辑:正如汉斯在评论中提到的,我不得不改用Attributes属性:
if (column.Name != "ID") column.Attributes = ColumnAttributesEnum.adColNullable;
解决方法:
汉斯·帕桑(Hans Passant)在评论中回答了此问题,但从未将其添加为答案.现在这样做以将其标记为已回答.不得不使用Attributes属性:
if (column.Name != "ID") column.Attributes = ColumnAttributesEnum.adColNullable;
内容总结
以上是互联网集市为您收集整理的c#-ADOX表列的“空”属性?全部内容,希望文章能够帮你解决c#-ADOX表列的“空”属性?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。