解决方案 »
- C#如何自动更新?
- 关于using System.Timers; 的 一个小问题
- 帮我看看
- NeatUpload 进度条问题,项目即将完工,在线急等!
- c#怎么和word域相互传递数据,步骤和方法怎么样的?最好发个实例
- 我将一个数据集合的记录填充到datagrid中,然后通过datagrid选中几条记录,想将选中的几天记录写到一个新的数据集的表中,应该如何做?
- comboBox可以根据设定的ValueMember来获取DisplayMember值吗?
- 一个关于数组的问题希望可以帮我解决!
- 怎样解决文本框中输入汉字和数据库字段长度的对应问题
- 建立一个线程通过该线程创建了50个线程来扫描局域网内的机器?????
- 我通过WebClient获取到了文章网页的源码要这么使用正则才能获取到文章的内容呢
- C# udp通讯
你最好写个函数public void insertdata(string s1, string s2, string s3)//插入数据库
{
SqlConnection con = new SqlConnection("Data Source=10.168.1.5;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False");
con.Open();
SqlCommand cmd = new SqlCommand(string.Format("select Count(*) from newtable where a= '{0}'", s1), con);
if ((int)cmd.ExecuteScalar() > 0)
{
listBox1.Items.Add(s1 + " 数据已经存在");
}
else
{
string sql = "insert into newtable(a,b,c) values('" + s1 + "','" + s2 + "','" + s3 +"')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
listBox1.Items.Add(s1 + " 成功添加");
}
cmd.Dispose();
con.Close();
}
for (int i = 0; i < dt.Rows.Count; i++)
{
insertdata(.....);
}
//dt存的是你要插入的数据
public void insertdata(DataTable dt)//插入数据库
{
using (SqlConnection con = new SqlConnection("Data Source=10.168.1.5;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False"))
{
using (var t = con.BeginTransaction()) //事物
{
try
{
con.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from 地力评价指标 where 1=2", con);
SqlCommandBuilder sdcb = new SqlCommandBuilder(sda);
var dtInsert = new DataTable();
sda.Fill(dtInsert); DataTable dt = new DataTable();//此处的dt是你要插入到地理评价指标表的数据来源
for (int i = 0; i < dt.Rows.Count; i++)
{
var dr = dtInsert.NewRow();
dr["类型名称"] = CheckString(dt.Rows[i][1].ToString());
dr["字段代码"] = dt.Rows[i][2].ToString();
dr[""] = CheckString(dt.Rows[i][3].ToString());
//string sql = "insert into 地力评价指标(类型名称,字段代码,要素名称) values ('" + CheckString(dt.Rows[i][1].ToString()) + "','" + dt.Rows[i][2].ToString() + "','" + CheckString(dt.Rows[i][3].ToString()) + "')";
dtInsert.Rows.Add(dr);
}
sda.Update(dtInsert);
t.Commit();
}
catch (Exception)
{
//异常处理
t.Rollback();
}
finally
{
//todo
}
}
}
}
sql = "insert into 地力评价指标(类型名称,字段代码,要素名称) values ('" + CheckString(dt.Rows[i][1].ToString()) + "','" + dt.Rows[i][2].ToString() + "','" + CheckString(dt.Rows[i][3].ToString()) + "')";
/*
// 1 - 换成
sql = "insert into 地力评价指标(类型名称,字段代码,要素名称) values ('" + CheckString(dt.Rows[i][0].ToString()) + "','" + dt.Rows[i][1].ToString() + "','" + CheckString(dt.Rows[i][2].ToString()) + "')";// 2 - 换成
sql = "insert into 地力评价指标(类型名称,字段代码,要素名称) values ('" + CheckString(dt.Rows[i][“类型名称”].ToString()) + "','" + dt.Rows[i][“字段代码”].ToString() + "','" + CheckString(dt.Rows[i][“要素名称”].ToString()) + "')";//3 - 调试过程中将每条Sql语句复制到查询分析器中,再一起运行,看有什么错误提示
*/
DateTime dtime = DateTime.Now;
string dbname = @"d:\数字字典" + dtime.Hour.ToString() + dtime.Minute.ToString() + dtime.Second.ToString() + dtime.Millisecond.ToString() + ".mdb";
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbname + " ;Jet OLEDB:Database Password=123456;Jet OLEDB:Engine Type=5"; ADOX.Catalog access = new ADOX.Catalog();
try
{
access.Create(conn);
}
catch
{ } ADODB.Connection cn = new ADODB.Connection();
cn.Open(conn, null, null, -1);
access.ActiveConnection = cn; ADOX.Table table = new ADOX.Table();
//table.ParentCatalog = access;
table.Name = "字段类别"; ADOX.Column column = new ADOX.Column();
column.ParentCatalog = access;
column.Type = ADOX.DataTypeEnum.adInteger;
column.Name = "id";
column.DefinedSize = 9;
//column.Properties["jet OLEDB:Allow Zero Length"].Value = false;
column.Properties["AutoIncrement"].Value = true;
table.Columns.Append(column, ADOX.DataTypeEnum.adInteger,0); table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary,"id", "", "");
table.Columns.Append("类别代码", ADOX.DataTypeEnum.adVarWChar, 50);
table.Columns.Append("类别名称", ADOX.DataTypeEnum.adVarWChar, 50);
//table.Columns.Append("要素名称", ADOX.DataTypeEnum.adVarWChar, 50);
try
{
access.Tables.Append(table);
}
catch
{ }
finally
{
table = null;
(access.ActiveConnection as ADODB.Connection).Close();
access.ActiveConnection = null;
access = null;
}
System.Runtime.InteropServices.Marshal.ReleaseComObject(access);
table = null;
access = null;
GC.WaitForPendingFinalizers();
GC.Collect();
使用使用的对象就进行
System.Runtime.InteropServices.Marshal.ReleaseComObject