要获取列'DataType,我在C#中使用以下代码
System.Data.SQLite.SQLiteConnection con = new System.Data.SQLite.SQLiteConnection("Data Source=C:\\Users\\SaMax\\Documents\\CustomersDB.s3db; Version=3; FailIfMissing=True;");
System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand("select typeof(Column_Name) from Table_Name;");
cmd.Connection = con;
try
{
con.Open();
string str = cmd.ExecuteScalar().ToString();
con.Close();
MessageBox.Show(str);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
有效。但是我想知道它是否正常,对SQL,MySql也是如此。
答案 0 :(得分:0)
我想知道是否可以
在不知道你的意图的情况下很难说,但除非你正在编写高度动态的东西,否则你事先已经知道了什么是列的类型。你为什么要运行这个查询?
和SQL的确定
它不是标准SQL,它是SQLite特有的功能。其他SQL风格可能类似于获取列的类型,但您不能使用相同的SQL字符串并期望它可以在任何数据库上工作。
答案 1 :(得分:0)
SQL-Server
试试这个:
SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS where
TABLE_NAME='Product' and COLUMN_NAME='Id'