El problema es que en realidad no está ejecutando el comando contra la base de datos. Estás definiendo el InsertCommand a usar, pero no se está ejecutando.
Según ese código, no veo que necesite usar un DataAdapter/DataSet de todos modos, solo use un SqlCommand para hacer la inserción, que es más liviano. Algo como esto:
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();
}
}
}
También recomendaría no usar ntext para esto en su base de datos. Si realmente necesita compatibilidad con Unicode, use nvarchar, que puede llegar hasta 4000 caracteres antes de SQL 2005, o nvarchar(max), que puede almacenar tanto como ntext desde SQL 2005 en adelante. Si no necesita compatibilidad con Unicode, use varchar en su lugar (8000 caracteres anteriores a SQL 2005, VARCHAR (MAX) desde SQL 2005 en adelante permite lo mismo que el texto)