Çalışma zamanında, bir sql sunucu tablosu sütununun SqlDbType öğesinin ne olduğunu belirlemeye çalışıyorum.ADO.NET kullanarak bir tablodaki SqlDbType tablosunu nasıl alabilirim?
System.Data.SqlClient'te bunu gerçekleştirebilecek bir sınıf var mı, yoksa eşleştirmeyi kendim mi yapmalıyım? Ben
SELECT DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = '{0}' AND TABLE_SCHEMA = '{1}'
AND TABLE_NAME = '{2}' AND COLUMN_NAME = '{3}'
DÜZENLEME geri bir dize temsilini alabilirsiniz: Ben yürütme makinesinin üzerinde hiçbir kontrole sahip gibi ben kurulacağı garanti edemez yüzden SMO kullanamazsınız. (Bu açık rp yapmamak için üzgünüm).
DÜZENLEME: Joel'e yanıt olarak, SqlConnection, bir tablo adı ve sütun adı geçtiğinde bana bir SqlDBType döndürecek bir işlev yapmaya çalışıyorum.
Hey Bunu beğendim. – WOPR
Bu gerçekten harika, ama çok dişli güvenli midir? SET FMTONLY ON ile kesintiye uğrayabilir ve başka biri boş bir recordset alır? –
Bu hoş bir çözüm gibi görünüyor, ancak SQL Server'ın gelecekteki sürümlerinde kaldırılacağı için bu özelliği kullanmamak için bir uyarı var. – Naomi