Problem polega na tym, że w rzeczywistości nie wykonujesz polecenia w bazie danych. Definiujesz polecenie InsertCommand do użycia, ale nie jest ono wykonywane.
Opierając się na tym kodzie, nie widzę, że i tak trzeba używać DataAdapter/DataSet, po prostu użyj SqlCommand, aby wykonać wstawianie, które jest lżejsze. Coś takiego:
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();
}
}
}
Polecam również nie używać do tego ntext w twoim db. Jeśli naprawdę potrzebujesz wsparcia dla Unicode, użyj nvarchar, który może osiągnąć 4000 znaków przed SQL 2005, lub nvarchar(max), który może przechowywać tyle, ile ntext od SQL 2005. Jeśli nie potrzebujesz obsługi Unicode, użyj zamiast tego varchar (8000 znaków przed SQL 2005, VARCHAR(MAX) od SQL 2005 pozwala na to samo, co tekst)