Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中向数据库的数据行添加数据#_C#_Dataset_Connection String_Sqlconnection_Datarow - Fatal编程技术网

C# 在c中向数据库的数据行添加数据#

C# 在c中向数据库的数据行添加数据#,c#,dataset,connection-string,sqlconnection,datarow,C#,Dataset,Connection String,Sqlconnection,Datarow,我在ASP.net/C#中的程序附带的sql数据库中添加数据时遇到了一个小问题。以下是代码: string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["sqlconnection"].ConnectionString; SqlConnection cnn = new SqlConnection(ConnectionString);

我在ASP.net/C#中的程序附带的sql数据库中添加数据时遇到了一个小问题。以下是代码:

string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["sqlconnection"].ConnectionString;


            SqlConnection cnn = new SqlConnection(ConnectionString);

            cnn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "select Id from  TableName";
            cmd.Connection = cnn;
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = cmd;
            DataSet ds = new DataSet();
            da.Fill(ds, " TableName ");
            SqlCommandBuilder cb = new SqlCommandBuilder(da);

            DataRow drow =  ds.Tables["TableName"].NewRow();
drow["Id"] = TextBox1.Text;
ds.Tables["TableName "].Rows.Add(drow);

            da.Update(ds, " TableName ");
            string script = @"<script language=""javascript"">
        alert('Information have been Saved Successfully.......!!!!!.');
       </script>;";
            Page.ClientScript.RegisterStartupScript(this.GetType(), "myJScript1", script);
请导游。
谢谢。

这似乎是一种非常糟糕的插入数据的方法。你看过手术室了吗?或者,您也可以使用标准的SqlCommand并自己设置CommandText

其中任何一种都可以提供更清洁的解决方案

例如:使用ADO.NET(连接到SQLite):


嗨,谢谢你的回答。顺便问一下,你能告诉我你的数据插入方式吗。我不是坚持这样做,但如果你明白我的意思,你可以在这里提供你自己的方式。谢谢。我将结合使用我添加的代码示例和实体框架。我不使用实体框架进行插入的原因是,我发现它容易被复杂的对象图混淆。
DataRow drow =  ds.Tables["TableName"].NewRow();
var conn = new SQLiteConnection(string.Format(Constants.SQLiteConnectionString, "db.db3"));
conn.Open();
using (SQLiteTransaction trans = conn.BeginTransaction()) {
    using (var cmd = conn.CreateCommand()) {
        cmd.CommandText = "INSERT INTO TableName (Id) VALUES (@Id)";
        cmd.Parameters.AddWithValue("@Id", someTextVariable);
        cmd.ExecuteNonQuery();
    }
}