DataTable dtcol = new DataTable();
string strdttype = cmbDttype.SelectedItem.ToString();
dtcol.TableName = txtDtname.Text;
dtxsd.Columns.Add(txtCname.Text, typeof(strdttype));
dtcol.WriteXmlSchema("@D:\Example\exampledt.xsd");
我正在编写上面的代码以用列填充数据表,这里从txtCname获取列名,并从组合框
cmbDttype
选择该列的数据类型。 dtxsd.Columns.Add(txtCname.Text, typeof(strdttype)); //In this line I am getting error strdttype is a field but used is used like a type.
txtDtname
带有该数据表的表名。从最后一行开始,它将把Schema写入exampledt,但是xsd文件中的现有数据表丢失,并且出现新创建的数据表。
最佳答案
您应该为typeof operator提供类型名称(而不是变量名称)。您的strdttype
具有字符串类型,因此正确的代码将是:
dtxsd.Columns.Add(txtCname.Text, typeof(string));
另一个选择-获取变量类型:
dtxsd.Columns.Add(txtCname.Text, strdttype.GetType());