我正在尝试使用该表的主键从数据库中获取数据。问题是每个表的主键名称会不同。
例如,用户可能想要拉起员工表,主键是 Emp_ID。然后他们想调出制造商表,主键是 Manu_ID。
由于信息是在同一个 ViewModel 中提取的,所以一切都需要是动态的。
这是查看制造商表的 SQL 语句:
C#:
string strSQLconnection = (connectionString);
SqlConnection sqlConnection = new SqlConnection(strSQLconnection);
tableName = tableName + "AuditLogView";
sqlConnection.Open();
SqlCommand sqlCommand = new SqlCommand("SELECT * FROM @tableName WHERE ManufacturersID = @primarykey", sqlConnection);
sqlCommand.Parameters.AddWithValue("@tablename", tableName);
sqlCommand.Parameters.AddWithValue("@primarykey", primaryKeyID);
SqlDataReader reader = sqlCommand.ExecuteReader();
其中一些已经动态实现,例如来自用户的主键和表名。我想如果我总能在我的表中找到主键,那么它应该可以工作。有没有办法做到这一点?我正在使用 SQL Server 2008 R2。任何帮助表示赞赏。