我有下面的代碼應該能夠獲得主鍵的表如何獲得一個表的SQL Server中的主鍵2008
public List<string> GetPrimaryKeysForTable(string tableName)
{
List<String> retVal = new List<string>();
SqlCommand command = connector.GetCommand("sp_pkeys");
command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.AddWithValue("@table_name", typeof(SqlChars)).Value = tableName;
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
retVal.Add(reader[3].ToString());
}
return retVal;
}
我有一個表在我的數據庫稱爲Users
。當我通過Users
作爲我的參數時,閱讀器不返回任何結果。任何想法爲什麼這可能無法返回我的主鍵?
你確定你是對其中包含的數據庫中執行該命令的'用戶表(而不是'master'數據庫,例如)? – RoccoC5 2011-12-20 16:38:32
您是否試過來自查詢分析器的「exec sp_pkeys Users」? – Aaron 2011-12-20 16:41:01
嗨,你是否在這一行中獲得正確的值:retVal.Add(reader [3] .ToString());?您還可以指定列名稱而不是數字。這樣你可以做一些事情:retVal.Add(reader [「key」]。ToString());並且如果您試圖獲得正確的列值,會更容易判斷。 – Felipe 2011-12-20 16:43:23