Vấn đề là bạn không thực sự thực thi lệnh đối với cơ sở dữ liệu. Bạn đang xác định InsertCommand để sử dụng, nhưng nó không được thực thi.
Dựa trên mã đó, tôi thấy rằng bạn không cần phải sử dụng DataAdapter / DataSet, chỉ cần sử dụng một SqlCommand để thực hiện việc chèn, nó nhẹ hơn. Một cái gì đó như thế này:
public void Storetxt(String txt)
{
//connection to the database
string connection = "Data Source=.\\sqlexpress2005;Initial Catalog=PtsKuratlas;Integrated Security=True";
SqlConnection conn = null;
SqlCommand cmd = null;
try
{
conn = new SqlConnection(connection);
cmd = new SqlCommand("INSERT INTO gti_analytics (Links) VALUES (@Link)", conn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@Link", txt);
conn.Open();
cmd.ExecuteNonQuery();
}
catch{//handle exceptions}
finally
{
if (cmd != null) cmd.Dispose();
if (conn != null)
{
if (conn.State == ConnectionState.Open) conn.Close();
conn.Dispose();
}
}
}
Tôi cũng khuyên bạn không nên sử dụng ntext cho việc này trong db của bạn. Nếu bạn thực sự cần hỗ trợ unicode, hãy sử dụng nvarchar có thể lên đến 4000 ký tự trước sql 2005 hoặc nvarchar (max) có thể lưu trữ nhiều như ntext từ SQL 2005 trở đi. Nếu bạn không cần hỗ trợ unicode, hãy sử dụng varchar để thay thế (8000 ký tự trước sql 2005, VARCHAR (MAX) từ SQL 2005 trở đi cho phép giống như văn bản)