C#做excel导入sql server2000数据库的问题 数据表的字段有整形、字符串。Excel通过程序来导入库。导不进去,出现错误。分析应该是excel表里的数据类型与数据库字段类型不一致,导不进去。如何让Excel表同一列数据的格式一至,通过程序来实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT * into newtableFROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\a.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]SELECT * into newtableFROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\a.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions读取EXCEL数据到dataset实现数据更新 首先将数据读取到dataset代码如下private DataSet CreateDataSource() { string strCon; strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../excel.xls") + "; Extended Properties=Excel 8.0;"; OleDbConnection olecon = new OleDbConnection(strCon); OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [abc$]", strCon); DataSet myds = new DataSet(); myda.Fill(myds); return myds; }在讲dataset的数据保存到数据库里面去 应该是你拼接sql字符串导致的问题吧,把你的代码贴出来看看? string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelSrc + ";Extended Properties=Excel 8.0"; string query = "select * from [Sheet1$]"; OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(ConnStr)); OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand); DataSet ds = new DataSet(); oleAdapter.Fill(ds, "[Sheet1$]"); DataTable dt = new DataTable(); dt = ds.Tables[0]; dtCount = dt.Rows.Count; cn.conn.Open(); SqlCommand sCmd = new SqlCommand("sp_UserSel", cn.conn); sCmd.CommandType = CommandType.StoredProcedure; sCmd.Parameters.Add("@InsName", SqlDbType.NVarChar, 50); sCmd.Parameters["@InsName"].Direction = ParameterDirection.Input; sCmd.Parameters.Add("@CredNum", SqlDbType.NVarChar, 50); sCmd.Parameters["@CredNum"].Direction = ParameterDirection.Input; sCmd.Parameters.Add("@UserCount", SqlDbType.Int); sCmd.Parameters["@UserCount"].Direction = ParameterDirection.Output; SqlCommand cmd = new SqlCommand("sp_UserAdd", cn.conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ConPer", SqlDbType.NVarChar, 50); cmd.Parameters["@ConPer"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@ConTel", SqlDbType.NVarChar, 50); cmd.Parameters["@ConTel"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@InsName", SqlDbType.NVarChar, 50); cmd.Parameters["@InsName"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@InsTel", SqlDbType.NVarChar, 50); cmd.Parameters["@InsTel"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Cred", SqlDbType.NVarChar, 50); cmd.Parameters["@Cred"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@CredNum", SqlDbType.NVarChar, 50); cmd.Parameters["@CredNum"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@AccountName", SqlDbType.NVarChar, 50); cmd.Parameters["@AccountName"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Bank", SqlDbType.NVarChar, 50); cmd.Parameters["@Bank"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@AccountNum", SqlDbType.NVarChar, 50); cmd.Parameters["@AccountNum"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@InsPhone", SqlDbType.NVarChar, 50); cmd.Parameters["@InsPhone"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Addr", SqlDbType.NVarChar, 50); cmd.Parameters["@Addr"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Department", SqlDbType.NVarChar, 50); cmd.Parameters["@Department"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Unit", SqlDbType.NVarChar, 50); cmd.Parameters["@Unit"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@IsTrue", SqlDbType.NVarChar, 2); cmd.Parameters["@IsTrue"].Direction = ParameterDirection.Input; for (int i = 0; i < dt.Rows.Count; i++) { sCmd.Parameters["@InsName"].Value = dt.Rows[i][3].ToString(); sCmd.Parameters["@CredNum"].Value = dt.Rows[i][6].ToString(); sCmd.ExecuteNonQuery(); string userCount = sCmd.Parameters["@UserCount"].Value.ToString(); cmd.Parameters["@ConPer"].Value = dt.Rows[i][0].ToString(); cmd.Parameters["@ConTel"].Value = dt.Rows[i][1].ToString(); cmd.Parameters["@InsName"].Value = dt.Rows[i][3].ToString(); cmd.Parameters["@InsTel"].Value = Convert.ToString(dt.Rows[i][4]); cmd.Parameters["@Cred"].Value = dt.Rows[i][5].ToString(); cmd.Parameters["@CredNum"].Value = dt.Rows[i][6].ToString(); cmd.Parameters["@AccountName"].Value = dt.Rows[i][7].ToString(); cmd.Parameters["@Bank"].Value = dt.Rows[i][8].ToString(); cmd.Parameters["@AccountNum"].Value = dt.Rows[i][9].ToString(); cmd.Parameters["@InsPhone"].Value = Convert.ToString(dt.Rows[i][2]); cmd.Parameters["@Addr"].Value = dt.Rows[i][10].ToString(); cmd.Parameters["@Department"].Value = dt.Rows[i][11].ToString(); cmd.Parameters["@Unit"].Value = dt.Rows[i][12].ToString(); cmd.Parameters["@IsTrue"].Value = userCount; cmd.ExecuteNonQuery(); isTrue = 1; } dt.Dispose();这是我的代码 imageList.Add(Image.FromFile())如何自定义图片大小? OA考勤管理这个模块怎样写呀 搞不懂哈 在线求助,帮帮忙了,跪谢~~~ 打包第三方控件 高手赐教!请问怎样在TextBox控件Enabled属性为false时,设置其颜色,在线等待! C#定时更新数据的问题 百度地图 怎么实现这样功能,画一个区域图,然后判断车子是否进入访区域 急求:Repeater 如何显示数据库中图片 ADO.NET中可以对DataSet中的DataTable执行SQL语句吗? 截取字符串??? 求 有没有C#的开发组件或者控件的书?winfrom的,以及如何开发报表控件的
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\a.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\a.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
读取EXCEL数据到dataset实现数据更新
private DataSet CreateDataSource()
{
string strCon;
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../excel.xls") + "; Extended Properties=Excel 8.0;";
OleDbConnection olecon = new OleDbConnection(strCon);
OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [abc$]", strCon);
DataSet myds = new DataSet();
myda.Fill(myds);
return myds;
}
在讲dataset的数据保存到数据库里面去
string query = "select * from [Sheet1$]";
OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(ConnStr));
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
DataSet ds = new DataSet();
oleAdapter.Fill(ds, "[Sheet1$]");
DataTable dt = new DataTable();
dt = ds.Tables[0];
dtCount = dt.Rows.Count;
cn.conn.Open();
SqlCommand sCmd = new SqlCommand("sp_UserSel", cn.conn);
sCmd.CommandType = CommandType.StoredProcedure; sCmd.Parameters.Add("@InsName", SqlDbType.NVarChar, 50);
sCmd.Parameters["@InsName"].Direction = ParameterDirection.Input; sCmd.Parameters.Add("@CredNum", SqlDbType.NVarChar, 50);
sCmd.Parameters["@CredNum"].Direction = ParameterDirection.Input; sCmd.Parameters.Add("@UserCount", SqlDbType.Int);
sCmd.Parameters["@UserCount"].Direction = ParameterDirection.Output; SqlCommand cmd = new SqlCommand("sp_UserAdd", cn.conn);
cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ConPer", SqlDbType.NVarChar, 50);
cmd.Parameters["@ConPer"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@ConTel", SqlDbType.NVarChar, 50);
cmd.Parameters["@ConTel"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@InsName", SqlDbType.NVarChar, 50);
cmd.Parameters["@InsName"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@InsTel", SqlDbType.NVarChar, 50);
cmd.Parameters["@InsTel"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Cred", SqlDbType.NVarChar, 50);
cmd.Parameters["@Cred"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@CredNum", SqlDbType.NVarChar, 50);
cmd.Parameters["@CredNum"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@AccountName", SqlDbType.NVarChar, 50);
cmd.Parameters["@AccountName"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Bank", SqlDbType.NVarChar, 50);
cmd.Parameters["@Bank"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@AccountNum", SqlDbType.NVarChar, 50);
cmd.Parameters["@AccountNum"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@InsPhone", SqlDbType.NVarChar, 50);
cmd.Parameters["@InsPhone"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Addr", SqlDbType.NVarChar, 50);
cmd.Parameters["@Addr"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Department", SqlDbType.NVarChar, 50);
cmd.Parameters["@Department"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@Unit", SqlDbType.NVarChar, 50);
cmd.Parameters["@Unit"].Direction = ParameterDirection.Input; cmd.Parameters.Add("@IsTrue", SqlDbType.NVarChar, 2);
cmd.Parameters["@IsTrue"].Direction = ParameterDirection.Input; for (int i = 0; i < dt.Rows.Count; i++)
{
sCmd.Parameters["@InsName"].Value = dt.Rows[i][3].ToString();
sCmd.Parameters["@CredNum"].Value = dt.Rows[i][6].ToString();
sCmd.ExecuteNonQuery();
string userCount = sCmd.Parameters["@UserCount"].Value.ToString(); cmd.Parameters["@ConPer"].Value = dt.Rows[i][0].ToString();
cmd.Parameters["@ConTel"].Value = dt.Rows[i][1].ToString();
cmd.Parameters["@InsName"].Value = dt.Rows[i][3].ToString();
cmd.Parameters["@InsTel"].Value = Convert.ToString(dt.Rows[i][4]);
cmd.Parameters["@Cred"].Value = dt.Rows[i][5].ToString();
cmd.Parameters["@CredNum"].Value = dt.Rows[i][6].ToString();
cmd.Parameters["@AccountName"].Value = dt.Rows[i][7].ToString();
cmd.Parameters["@Bank"].Value = dt.Rows[i][8].ToString();
cmd.Parameters["@AccountNum"].Value = dt.Rows[i][9].ToString(); cmd.Parameters["@InsPhone"].Value = Convert.ToString(dt.Rows[i][2]);
cmd.Parameters["@Addr"].Value = dt.Rows[i][10].ToString();
cmd.Parameters["@Department"].Value = dt.Rows[i][11].ToString();
cmd.Parameters["@Unit"].Value = dt.Rows[i][12].ToString();
cmd.Parameters["@IsTrue"].Value = userCount; cmd.ExecuteNonQuery();
isTrue = 1; }
dt.Dispose();
这是我的代码