ADO.net 数据库连接并插入数据。是杨中科老师的视频,请高手帮忙!
程序运行后能显示插入成功和打开数据库连接成功。但过去在数据库Table1表执行后没看到插入数据,是哪里出问题了?
帮下,最好具体步骤解答,非常感谢!(在VS2010的)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.IO;
namespace mdf1
{
class Program
{
static void Main(string[] args)
{
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\ ")
|| dataDir.EndsWith(@"\bin\Release\ "))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData( "DataDirectory ", dataDir);
}
using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQlEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into Table1(id,name) values('2','asd')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入成功");
}
}
Console.WriteLine("打开数据库连接成功");
Console.ReadKey();
}
}
}
------解决方案--------------------第一,检查你连接的数据库是不是你要操作的数据库,别连错了
第二,看看你的sql语句执行正确吗, ExecuteNonQuery返回多少,从字面上看看 id的值应该是数值吧,而你插入的是带引号的
------解决方案--------------------单步调试吧,监视一下conn.Open(),cmd.ExecuteNonQuery()的返回值。
------解决方案-------------------- conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into Table1(id,name) values('2','asd')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入成功");
}
把上面的修改成下面的在试试看
conn.Open();
using (SqlCommand cmd =new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = "Insert into Table1(id,name) values('2','asd')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入成功");
}