有谁用ADO。NET 访问过FOXPRO的数据库吗?
hfyou 2005-09-21 09:08:56 取DBF数据库的字段名、类型、长度。
字段名、类型能取出来,长度取不出来。
相似的代码,SQL SERVER就可以取出来。
应该怎么做呀?
string strconn="DSN=Visual FoxPro Tables;Data Source="+ spath1;
OdbcConnection myconn =new OdbcConnection(strconn);
string strselect ="select * from " + db_name_1;
OdbcDataAdapter oda =new OdbcDataAdapter(strselect,myconn);
DataSet ds =new DataSet();
oda.Fill(ds);
string[,] totol1= get_filed(ds);
private string[,] get_filed(DataSet DS) // 取 字段名
{
ArrayList arrName=new ArrayList();
ArrayList arrDtype=new ArrayList();
ArrayList arrLen=new ArrayList();
DataTable datble =DS.Tables[0];
DataColumn dc =new DataColumn();
for(int j=0;j<datble.Columns.Count;j++)
{
string sname=datble.Columns[j].ColumnName.ToString();
System.Type DT=datble.Columns[j].DataType;
string stype=DT.Name;
string slen =datble.Columns[j].MaxLength.ToString();
arrName.Add(sname);
arrDtype.Add(stype);
arrLen.Add(slen);
}
string[,] totol=new string[arrName.Count,3];
for(int i=0;i<arrName.Count;i++)
{
totol[i,0]=arrName[i].ToString();
totol[i,1]=arrDtype[i].ToString();
totol[i,2]=arrLen[i].ToString();
}
return totol;
}