問題は、実際にはデータベースに対してコマンドを実行していないことです。使用する 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 サポートが本当に必要な場合は、SQL 2005 より前で最大 4000 文字まで拡張できる nvarchar を使用するか、SQL 2005 以降で ntext まで格納できる nvarchar(max) を使用してください。 Unicode サポートが必要ない場合は、代わりに varchar を使用してください (SQL 2005 より前では 8000 文字、SQL 2005 以降の VARCHAR(MAX) ではテキストと同じことが許可されます)