2011-06-06 4 views
1

Итак, у меня есть база данных SQL express server. У меня есть файл инвентаря. У меня есть одно заявление для вставки новых записей, а другое - для обновления счетчика во всех записях. Первый работает отлично, однако я не могу заставить подсчет обновляться. Я завернул каждое из этих заявлений в свою собственную попытку, поймал и не поймал. Я здесь довольно утерян.Оператор обновления не работает

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication8 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     string[] lines = System.IO.File.ReadAllLines(@"C:\out\b.txt"); 
     //System.Console.WriteLine("Contents of writeLines2.txt =:"); 
     int i = 0; 
     foreach (string line in lines) 
     { 



       string sellername, sku, date1, quantity1, date2, asin, date3, date4, FNSKU; 
       char[] tabs = { '\t' }; 
       string[] words = line.Split(tabs); 

       sku = words[0]; 
       FNSKU = words[1]; 
       asin = words[2]; 
       quantity1 = words[5]; 
       Console.WriteLine("\t" + line); 
       inventoryBLL u = new inventoryBLL(); 
       try 
       { 
        u.AddToDatabase(sku, DateTime.Now, Convert.ToInt16(0), DateTime.Now, 0, asin, DateTime.Now, DateTime.Now, FNSKU); 

       } 
       catch 
       { } 
       try 
       { 
        u.UpdateDatabase(sku, quantity1); 

       } 
       catch 
       { } 

       foreach (string s in words) 
       { 
        System.Console.WriteLine(s); 
       } 


      ++i; 

     } 

     // Keep the console window open in debug mode. 
     Console.WriteLine("Press any key to exit."); 
     System.Console.ReadKey(); 
    } 
} 
} 

Вот BLL

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using ConsoleApplication8.DataSet1TableAdapters; 

namespace ConsoleApplication8 
{ 
[System.ComponentModel.DataObject] 
class inventoryBLL 
{ 
    private AmazonSKUsTableAdapter _skuAdapter = null; 
    protected AmazonSKUsTableAdapter Adatper 
    { 
     get 
     { 
      if (_skuAdapter == null) 
       _skuAdapter = new AmazonSKUsTableAdapter(); 

      return _skuAdapter; 
     } 
    } 

    [System.ComponentModel.DataObjectMethodAttribute 
     (System.ComponentModel.DataObjectMethodType.Insert, false)] 
    public void AddToDatabase(string sku, DateTime date, int quantity, DateTime date1, int quantity1, string asin, DateTime date2, DateTime date3, string FNSKU) 
    { 
     Adatper.AddToDatabase("A1B7M9EQGNCLQA", sku, date, quantity, date1, quantity1, asin, date2, date3, FNSKU); 

    } 

      [System.ComponentModel.DataObjectMethodAttribute 
     (System.ComponentModel.DataObjectMethodType.Update, false)] 
    public void UpdateDatabase(string sku, string quality) 
    { 
     Adatper.UpdateQuery(Convert.ToInt16(quality), sku); 
    } 
} 

} 

Вот запрос:

UPDATE  AmazonSKUs 
SET    TotalQty = @TotalQty 
WHERE  (MerchantSKU = @Original_MerchantSKU); 
+2

Пожалуйста, внесите свой код. – Asaph

+0

Коэффициенты хороши, это что-то в вашем коде. Если вы хотите, чтобы мы рассказали вам, что это было в вашем коде, вы должны опубликовать его, чтобы мы могли предоставить более конкретный ответ. –

+0

Зафиксирован ли оператор обновления? Или он завершается, ничего не делая? Вы зафиксировали вставку? Как выглядят утверждения? –

ответ

1

Почему бы вам не попробовать положить некоторые операторы вывода в ваших уловах блоков. Коэффициенты превосходны, что сообщают об ошибке; но, не действуя на пойманные предметы, вы, вероятно, избегаете проблем, которые он сообщает!

+0

Я поставил точку останова в блок catch и ничего не поймал. –

Смежные вопросы