使用OleDbCommand执行insert sql 语句
解决方案 »
- varchar(5000)能存多少汉字?多少英文?
- C# winForm 里面使用TreeView时 怎么样得到选中节点的值呀
- 如何用C#來通過ODBC連接INfomix數據庫?
- 服务器上没法打开OleDbConnection这个连接
- 关于3721屏蔽window.open()的问题和一个小问题!!!!!!!在线等!!
- 我的数据库列的数据是加密后的,对于C/S结构,如何取出来显示?如何单击一项显示详细信息,使用什么控件较好?
- 如何获取IP地址,并与数据库中地址比较
- 如何修改DATASET writexml方法生成的XML文件??我是说改第一行的那个encoding
- 多线程重复运行的如何防止线程重复运行
- 有用过wpf图表torstenMandelKow.MetroChart的大神吗
- C#.net中,如何设置textbox只能输入数字?
- 购物车的问题
改成这样还是无法写入
Oledbcommand cmd=new Oledbcommand(cd,conn);
cmd.ExecuteNonQuery();
conn.Close(); 你试试这样看看把这些代码替换成上面的 OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter dc = null;
dc = new OleDbDataAdapter(cd, strConn);
conn.Close();
继续请教
请帮忙改下
如果加入字段名如:字段2
就会出现 "至少一个参数没有被指定值"这样的错误
如果不加字段名就说 INSERT INTO 语法错误我已经试过很多方法了,还是不行T_T
还有你每一行每一列都写到数据库里去?逻辑没有问题?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using System.IO;
using System.Data.OleDb;
using System.Data.SqlClient;namespace test4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
string strCon="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\\northwind.mdb";
string Con = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=d:\\1.xls;Extended Properties=Excel 8.0;";
string sql = "select * from [" + "sheet1" + "$]";
DataSet ds = new DataSet();
OleDbConnection obj = new OleDbConnection(Con);
obj.Open();
OleDbDataAdapter ada = new OleDbDataAdapter(sql, obj);
ada.Fill(ds);
//生成dataTable
DataTable dt = new DataTable();
dt = ds.Tables[0];
OleDbDataAdapter da=new OleDbDataAdapter();//将dt中内容一次插入数据库
OleDbCommand Cmd = new OleDbCommand("Insert Into Sheet1(订单号,货号,含量,上月结存,本月增加,本月减少,结存,工厂,存货仓库,仓位,唛头) values(@订单号,@货号,@含量,@上月结存,@本月增加,@本月减少,@结存,@工厂,@存货仓库,@仓位,@唛头)", conn);
Cmd.Parameters.("@订单号","订单号");
Cmd.Parameters["@订单号"].SourceColumn = dt.Columns["订单号"].ColumnName;
Cmd.Parameters.Add("@货号", "货号");
Cmd.Parameters["@货号"].SourceColumn = dt.Columns["货号"].ColumnName;
Cmd.Parameters.Add("@含量", "含量");
Cmd.Parameters["@含量"].SourceColumn = dt.Columns["含量"].ColumnName;
Cmd.Parameters.Add("@上月结存", "上月结存");
Cmd.Parameters["@上月结存"].SourceColumn = dt.Columns["上月结存"].ColumnName;
Cmd.Parameters.Add("@本月增加", "本月增加");
Cmd.Parameters["@本月增加"].SourceColumn = dt.Columns["本月增加"].ColumnName;
Cmd.Parameters.Add("@本月减少", "本月减少");
Cmd.Parameters["@本月减少"].SourceColumn = dt.Columns["本月减少"].ColumnName;
Cmd.Parameters.Add("@结存", "结存");
Cmd.Parameters["@结存"].SourceColumn = dt.Columns["结存"].ColumnName;
Cmd.Parameters.Add("@工厂", "工厂");
Cmd.Parameters["@工厂"].SourceColumn = dt.Columns["工厂"].ColumnName;
Cmd.Parameters.Add("@存货仓库", "存货仓库");
Cmd.Parameters["@存货仓库"].SourceColumn = dt.Columns["存货仓库"].ColumnName;
Cmd.Parameters.Add("@仓位", "仓位");
Cmd.Parameters["@仓位"].SourceColumn = dt.Columns["仓位"].ColumnName;
Cmd.Parameters.Add("@唛头", "唛头");
Cmd.Parameters["@唛头"].SourceColumn = dt.Columns["唛头"].ColumnName; da.InsertCommand = Cmd;
da.UpdateCommand = Cmd;
da.Update(dt);
}
}
}
private DataTable GetDataFromExcel(string filepath_p,string sheetName_p)
{
System.Data.DataTable dt = new DataTable();
string strConn;
try
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source="+filepath_p +
";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM ["+sheetName_p+"$]", strConn);
myCommand.Fill(dt);
return dt;
}
catch(OleDbException ex)
{
throw new Exception("导入的文件为空或格式错误!"+ex.Message);
// return null;
this.Cursor = System.Windows.Forms.Cursors.Arrow;
}
} //导入职位
private void ImportDataFromZW(string dsdm_p)
{
#region 导入职位
System.Data.DataTable dt = new DataTable();
string filepath_p="zw.xls";
string sqlstr;
OleDbCommand com;
try
{
dt = GetDataFromExcel(filepath_p,"zw");
}
catch(Exception ex)
{
throw new Exception(ex.Message);
return;
}
if(System.IO.File.Exists(filepath_p)==false)
return;
int i=0;
string zwdm,zw;
for(i=0;i<dt.Rows.Count;i++)
{
zwdm = dt.Rows[i][0].ToString();
if(zwdm.Substring(0,2) !=dsdm_p) continue;
zw = dt.Rows[i][1].ToString(); try
{
sqlstr="insert into 职位表(职位代码,职位) values('"+zwdm+"','"+zw+"')";
OleDbCommand com1=new OleDbCommand(sqlstr,this.dataio.con);
if(dataio.con.State==System.Data.ConnectionState.Closed)
dataio.con.Open();
com1.ExecuteNonQuery();
if(dataio.con.State==System.Data.ConnectionState.Open)
dataio.con.Close();
}
catch(OleDbException ex)
{
throw new Exception("职位表添加数据错误!"+ex.Message);
if(dataio.con.State==System.Data.ConnectionState.Open)
dataio.con.Close();
// return;
}
}
#endregion
}