我怀疑我使用以下代码从SQLlite数据库获取数据并将其加载到数据表中
SQLiteConnection cnn = new SQLiteConnection("Data Source=" + path);
cnn.Open();
SQLiteCommand mycommand = new SQLiteCommand(cnn);
string sql = "select Company,Phone,Email,Address,City,State,Zip,Country,Fax,Web from RecordsTable";
mycommand.CommandText = sql;
SQLiteDataReader reader = mycommand.ExecuteReader();
dt.Load(reader);
reader.Close();
cnn.Close();
在某些情况下,当我尝试加载它时,给我“无法启用约束异常”
但是当我尝试下面给出相同表格和同一组记录的代码片段时,它可以工作
SQLiteConnection ObjConnection = new SQLiteConnection("Data Source=" + path);
SQLiteCommand ObjCommand = new SQLiteCommand("select Company,Phone,Email,Address,City,State,Zip,Country,Fax,Web from RecordsTable", ObjConnection);
ObjCommand.CommandType = CommandType.Text;
SQLiteDataAdapter ObjDataAdapter = new SQLiteDataAdapter(ObjCommand);
DataSet dataSet = new DataSet();
ObjDataAdapter.Fill(dataSet, "RecordsTable");
dt = dataSet.Tables["RecordsTable"];
任何人都可以告诉我两个
之间有什么区别答案 0 :(得分:5)
Load()方法有目的地评估约束,而只是通过索引从数据集中提取DataTable不会。这就是您案例中的不同之处。
请参阅:http://msdn.microsoft.com/en-us/library/hsze9wte(VS.80).aspx