建立一个Access2000数据库datamdb,在库中建立一个表userdata,里面有“工号”、“姓名”、“性别”、“部门”四个字段,都是字符型的,再输入一些数据,再建立一个窗体Form1,在Form1中,放置以下控件:
控件名称 属性 值 说明
Tlabel1 Caption "请输入文件名"
TEdit1 Name "" 用来输入文件名,带扩展名的
TButton1 Caption "保存"
TButton2 Caption "退出"
1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,d出DTS导入/导出向导,按 下一步 ,
2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,
3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 ,
4、选择 用一条查询指定要传输的数据,按 下一步 ,
5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 ,
6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按 下一步 ,
7、如果要全部导入,则选择 全部行,按 下一步,
8、则会看到根据前面的 *** 作生成的查询语句,确认无误后,按 下一步,
9、会看到 表/工作表/Excel命名区域 列表,在 目的 列,选择要导入数据的那个表,按 下一步,
10、选择 立即运行,按 下一步,
11、会看到整个 *** 作的摘要,按 完成 即可。
在一些数据量比较大,而且 *** 作数据库频繁的。此时需要将数据表datatable整块的存入数据库中。
不多说,直接上代码:
首先得新建一个数据库
DataTable once_rec_date = new DataTable();
这个数据库得跟目标数据库的列的位置和大小都得一样。特别是类型,和位置。
就是列的位置和目标数据库的位置,顺序得 一模一样。因为都是块存储,所以地址什么的都得一样,千万不能少一列,自增列可以空在那边。
在初始化中初始化该表
<pre name="code" class="csharp"> once_rec_dateColumnsAdd("id", typeof(int));once_rec_dateColumnsAdd("RevData_cmd", typeof(int));
once_rec_dateColumnsAdd("Node", typeof(int));
once_rec_dateColumnsAdd("Data", typeof(String));
once_rec_dateColumnsAdd("Ssingle", typeof(int));
once_rec_dateColumnsAdd("IsWiressData", typeof(int));
once_rec_dateColumnsAdd("Datatime", typeof(DateTime));
once_rec_dateColumnsAdd("Receivetime", typeof(DateTime));
once_rec_dateColumnsAdd("IsMatch", typeof(int));</pre><br>
<p></p>
<pre></pre>
<span style="font-size:18px">初始化之后,在程序中填充该datatable<br>
</span><br>
<p></p>
<p></p><pre name="code" class="csharp"> DataRow newrow = once_rec_dateNewRow();
newrow["RevData_cmd"] = cmd;
newrow["Node"] = Nodeid;
newrow["Data"] = datastring;
newrow["IsWiressData"] = IsWiress;
newrow["Ssingle"] = 1;
newrow["Datatime"] = datatime;
newrow["Receivetime"] = time1;
newrow["IsMatch"] = 3;
once_rec_dateRowsAdd(newrow);
return true;</pre><br>
再在程序结束的时候调用下面的函数<pre name="code" class="csharp" style="background-color: rgb(255, 255, 255); ">AddDatatableToSQL</pre><p></p>
<p>该函数主要实现块存储,整datatable</p>
<p><br>
</p>
<p></p>
<pre name="code" class="html" style="background-color: rgb(255, 255, 255); font-size: 18px; "></pre><pre name="code" class="csharp"> ///-----------------------------------------------------------------
/// <summary>
/// 功 能:将数据表批量存入到数据库中
/// 函数调用:SqlBulkCopy
/// </summary>
/// <param name="frameStruct">数据类型</param>
///-----------------------------------------------------------------
public bool AddDatatableToSQL(DataTable ScrTable)
{
using (SqlConnection thisConn = new SqlConnection(ConnectionStr))
{
try
{
if (thisConnState == ConnectionStateClosed)
{
thisConnOpen();
}
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(thisConn))
{
bulkCopyDestinationTableName = "RevData";//这里的数据库名字可以更改,或者通过传参传进去
try
{
bulkCopyWriteToServer(ScrTable);
return true;
}
catch
{
return false;
}
finally
{
thisConnClose();
}
}
}
catch
{
}
}//end using
return false;
}
</pre><br>
<p><br>
</p>
参考如下:
//把数据写入数据库
function res() {
//获取输入值(myname和mymail是两个文本框的id)
var uname = documentgetElementById("myname")value;
var umail = documentgetElementById("mymail")value;
//数据库连接对象
var con = new ActiveXObject("ADODBConnection");
//连接字符串
var str = "DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=123456;database=xslt";
//打开数据源
conOpen(str);
//sql语句
var sql = "insert into xslt(name,mail) values(''" + uname + "'',''" + umail + "'')";
try {
//执行sql语句
conExecute(sql);
//关闭连接
conClose();
//转向成功页面
windowlocationhref = "/uploadfile/201101/18/AF93632542gif" /> }
catch (e) {
alert(e);
}
}
方法
1)手动录入和ACCESS菜单导入命令导入外部数据,方法略;
2)在查询对象编写并运行SQL追加查询,例如
insert into t1(col1,col2,col3) values('001','ABC',#2017-04-14#);
3)利用VBA代码执行SQL语句或利用数据访问API(ADO)等向数据表写入数据。例如
Private Sub Command1_Click()
CurrentProjectConnectionExecute "insert into t1(col1,col2,col3) values('001','ABC',#2017-04-14#)"
End Sub
以上就是关于怎样将Spinner中的数据写入到数据库中全部的内容,包括:怎样将Spinner中的数据写入到数据库中、怎样把一张表的数据追加到数据库当中去、如何将批量的数据存入SQL数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)