Проблемът е, че всъщност не изпълнявате командата срещу базата данни. Вие дефинирате командата InsertCommand, която да използвате, но тя не се изпълнява.
Въз основа на този код не виждам, че трябва да използвате DataAdapter/DataSet така или иначе, просто използвайте SqlCommand, за да направите вмъкването, което е по-леко. Нещо подобно:
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();
}
}
}
Също така бих препоръчал да не използвате ntext за това във вашата база данни. Ако наистина имате нужда от поддръжка на unicode, използвайте nvarchar, който може да достигне до 4000 знака преди sql 2005, или nvarchar(max), който може да съхранява толкова, колкото ntext от SQL 2005 нататък. Ако не се нуждаете от поддръжка на unicode, използвайте вместо това varchar (8000 знака преди sql 2005, VARCHAR(MAX) от SQL 2005 нататък позволява същото като текст)