2010-11-19 35 views
1

'u içeren bir ADO.NET Bildirimi nasıl hazırlanır Hazırlanmış ifadeler oluşturmak için bir fabrika kullanan ve daha sonra bunları yürütmek için kullanılan bir uygulamayı güncelliyorum. ama bir NText kullanan bir ifadeye çağrı eklemekle görevlendirildim ve ifadeyi düzgün bir şekilde nasıl hazırlayacağımı anlayamıyorum. "SqlCommand.Prepare yönteminin, tüm değişken uzunluk parametrelerinin, sıfır olarak ayarlanmamış bir boyuta sahip olmasını gerektiren bir çalışma hatası" alıyorum. Eğer parametreyi @Dosya için geçiyoruz verilerin uzunluğunaBir NText (clob) parametresi

SqlCommand update = new SqlCommand("UPDATE Log.Response_File_Log " + 
    "SET File = @File " + 
    ", DateFileReceived = GETDATE() " + 
    "WHERE RunID = @RunID", _connection); 
update.Parameters.Add(new SqlParameter("@File", SqlDbType.NText)); 
update.Parameters.Add(new SqlParameter("@RunID", SqlDbType.Int)); 
update.Prepare(); 

cevap

2

NTEXT kullanmayın, deprecated type'dur. Veritabanınızda bir NTEXT sütun varsa, VARBINARY(MAX)'a değiştirin. MAX tipi parametre uzunluğu için -1 kullanın: (...,SqlDbType.Varbinary, -1).

0

bunu ayarlanabiliyor: ama Uzunluk için

Zorunlu Kod Örneği kullanmak hangi değer emin değilim? Bu sadece bir öneridir.