2015-09-04 15 views
1

我寫一個函數中插入一些數據SQL表基於從客戶端INY我的LINQ收到SQL類的數據重寫LINQ to SQL類:使用的DataContext

//some code 
    string commString = "INSERT INTO Token (tk_ID, tk_token, tk_date, tk_IP) VALUES (@val1, @val2, @val3, @val4)"; 
    string conString = "placeholder"; 
    token = GenerateToken(clientLoginData); 
    using (SqlConnection con = new SqlConnection(conString)) 
    { 
     using (SqlCommand com = new SqlCommand()) 
     { 
      com.Connection = con; 
      com.CommandText = commString; 
      com.Parameters.AddWithValue("@val1", clientLoginData.cl_ID); 
      com.Parameters.AddWithValue("@val2", token); 
      com.Parameters.AddWithValue("@val3", clientLoginData.LoginTime); 
      com.Parameters.AddWithValue("@val4", clientLoginData.cl_IP); 
      try 
      { 
       con.Open(); 
       com.ExecuteNonQuery(); 
      } 
      catch (SqlException e) 
      { 

      } 
    } 
//rest of function 

這是正確的方法這樣做?我聽說你可以做得更容易使用

SampleDBDataContext dc = new SampleDBDataContext(); 

然後使用這個變量dc。但我從來沒有使用它,這是真的嗎?有人可以給我舉個例子,用這個插入一個值到表中嗎?

+0

這不是Linq to SQL。這是:https://msdn.microsoft.com/en-us/library/bb386941(v=vs.110).aspx – user1666620

回答

2

你的代碼是一個簡單的C#代碼中插入值,而不是LINQ2SQL爲LINQ2SQL你應該有

using (YourDbContext dc=new YourDbContext()){ 

     Token item = new Token(); 
     item.tk_date = clientLoginData.LoginTime; 
     item.tk_IP = clientLoginData.cl_IP; 
     item.tk_ID = clientLoginData.cl_ID; 
     item.tk_token = token; 

      dc.Tokens.InsertOnSubmit 
      dc.SubmitChanges(); 
    } 

Example 1

Example 2

+1

我不能做'Token.InsertOnSubmit'但是我可以做'dc.Tokens.InsertOnSubmit'是那是正確的? – Januszoff

0

你的代碼看起來應該是這樣

using (SampleDBDataContext dc = new SampleDBDataContext()) 
{ 
    Token item = new Token(); 
    item.tk_ID = clientLoginData.cl_ID; 
    item.tk_token = token; 
    item.tk_date = clientLoginData.LoginTime; 
    item.tk_IP = clientLoginData.cl_IP; 
    dc.Tokens.InsertOnSubmit(item); 
    dc.SubmitChanges(); 
} 
1

是這樣的:

DataContext dc = new Using(DataContext(Connections.GetDynamicConnectionfromConfig())) 
{ 

      Sampleclass obj = new Sampleclass(); 
      //Here assign properties to obj 
      dc.tableName.InsertOnSubmit(obj); 
      dc.SubmitChanges(); 

} 

希望這會對你有所幫助。