Problém je v tom, že ve skutečnosti neprovádíte příkaz proti databázi. Definujete InsertCommand, který se má použít, ale není prováděn.
Na základě tohoto kódu nevidím, že byste přesto potřebovali použít DataAdapter/DataSet, stačí k vložení použít SqlCommand, který je lehčí. Něco takového:
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();
}
}
}
Také bych doporučil nepoužívat ntext pro toto ve vaší db. Pokud opravdu potřebujete podporu unicode, použijte nvarchar, který může mít až 4000 znaků před SQL 2005, nebo nvarchar(max), který dokáže uložit tolik jako ntext od SQL 2005 a výše. Pokud nepotřebujete podporu unicode, použijte místo toho varchar (8000 znaků pre-sql 2005, VARCHAR(MAX) od SQL 2005 a novější umožňuje totéž jako text)