答案 0 :(得分:1)
无法使用SQL命令设置或更改字段说明。
MS Access数据库包含纯数据库元素,例如表和它们的列(字段)。两者都具有与数据库相关的纯属性,例如数据类型,字段大小,必需属性, em>默认值设置或验证规则。使用SQL可以管理所有这些事情。
但是...
这只是MS Access数据库可以包含的内容的很小一部分。 Access数据库中的大多数对象都是围绕这些纯数据库事物构建的,以在用户友好的用户界面中显示表中的数据,并让用户/开发人员创建自定义的前端以显示和管理数据库中的数据。标准的数据表(这是一种特殊的预定义访问 form ),或者使用更复杂且用户定义的 forms 和报告。
为支持用户围绕数据设计自定义用户界面,Microsoft不仅定义了新的对象类型(例如 forms 和 reports ),而且还为对象添加了一些属性在数据层上,当在 TextBox , ComboBox 等控件中显示或编辑数据时非常有用。其中一些属性是 Input Mask , 格式或说明。它们与数据的存储无关,而是用于视觉效果。这些属性无法使用SQL进行管理,但可以使用DAO之类的库以编程方式进行定义和更改,其中每个 field 都有一个 properties集合,该集合不仅包含原始属性来自数据层,还包括为支持Microsoft Access的“可视”部分而添加的其他属性。
已添加
:VBA中的示例可能看起来像这样,将其转换为C#应该不太困难:
Sub SetDescription(TableName As String, FieldName As String, Description As String)
With CurrentDb
With .TableDefs(TableName)
With .Fields(FieldName)
On Error GoTo Err_SetDescription
.Properties("Description").Value = Description
End With
End With
End With
Exit_SetDescription:
Exit Sub
Err_SetDescription:
Select Case Err.Number
Case 3270
With CurrentDb
With .TableDefs(TableName)
With .Fields(FieldName)
.Properties.Append .CreateProperty("Description", dbText, Description)
Resume Next
End With
End With
End With
Case Else
MsgBox Err.Description, vbExclamation
Resume Exit_SetDescription
End Select
End Sub
答案 1 :(得分:-1)
答案:
private string InsertDescription( string mdbFile )
{
string log = null;
DAO.Database db;
DAO.DBEngine dbEn = new DAO.DBEngine();
DAO.Recordset rs;
string value = "Bi pe di Ba pe di Buuuuuuuuuuuuuuuuuuuuuuu!!!!";
string tabelName = "TAB";
string columnName = "dbdb";
try
{
db = dbEn.OpenDatabase(mdbFile, null, false, null);
rs = db.OpenTable(tabelName, 0);
rs.AddNew();
db.TableDefs[tabelName].Fields[columnName].Properties["Description"].Value = value;
rs.Update(1, false);
rs.Close();
log = "- Der Descriptionimport in die Datenbank war erfolgreich!";
}
catch( Exception ex )
{
log = "- Der Descriptionimport in die Datenbank war Nicht erfolgreich!" + Environment.NewLine + ex.Message;
}
return log;
}