//添加产品
protected void cmdAdd_Click(object sender, EventArgs e)
{
_waresmodel.会员 = _model.UserId;
_waresmodel.公司名称 = txtgsmcName.Text;
_waresmodel.产品 = txtcpVariety.Text.Trim();
//判断是否为修改状态
if (_isfabu)
{
Javascript.alert(SQLWare.SQLku.Add(_waresmodel) > 0 ? "添加成功!" : "失败,请重试!");
}
else
{ }
}
//这是接数据库的
namespace SQLWare
{
using System;
using System.Data;
using System.Data.SqlClient;
public class SQLku
{
public static int Add(ModelWare.ModelWares model)
{
SqlParameter[] commandParameters = new SqlParameter[] { new SqlParameter("@UserID", SqlDbType.VarChar, 20), new SqlParameter("@gsmc", SqlDbType.NVarChar, 50), new SqlParameter("@cp", SqlDbType.VarChar, 50)};
commandParameters[0].Value = model.会员;
commandParameters[1].Value = model.公司名称;
commandParameters[2].Value = model.产品;
return SqlHelper.ExecuteNonQuery(ConnString.Waresconn, CommandType.StoredProcedure, "[dbo].[Add数据库]", commandParameters);
}
}
//这是数据库的存储过程
ALTER PROCEDURE [dbo].[Add数据库]
DECLARE @i int
Set @i = 0
--开始循环插入数据;
WHILE @i < 3
BEGIN
Set @i =@i +1 INSERT INTO dbo.产品库
(ID, UserID1, gsmc1, cp1)
VALUES
(NEWID(), @UserID, @gsmc, @cp);
END
END表单多条数据插入
公历→农历
2013年06月12日
双子座
二〇一三年五月初五
癸巳〖蛇〗,戊午月,己酉日,乙亥时
今属:土;五行:水火土金木;缺:。
纳音五行:长流水。
protected void cmdAdd_Click(object sender, EventArgs e)
{ _waresmodel.MemberID = _model.UserId;
_waresmodel.CompanyName = txtCorporationName.Text; //判断是否为修改状态
if (_isfabu)
{
Javascript.alert(SQLWare.SQLWares.AddWares(_waresmodel) > 0 ? "添加成功!" : "失败,请重试!");
}
else
{
。。
}
}//数据库SQLhelp:
namespace SQLWare
{
using System;
using System.Data;
using System.Data.SqlClient; public class SQLWares
{
public static int AddWares(ModelWare.ModelWares model)
{
SqlParameter[] commandParameters = new SqlParameter[] { new SqlParameter("@memberID", SqlDbType.NVarChar, 20), new SqlParameter("@corporationName", SqlDbType.NVarChar, 50)};
commandParameters[0].Value = model.MemberID;
commandParameters[1].Value = model.CompanyName; return SqlHelper.ExecuteNonQuery(ConnString.Waresconn, CommandType.StoredProcedure, "[dbo].[AddWares]", commandParameters);
}
。。
//数据库SQL存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROCEDURE [dbo].[AddWares]
(
@memberID nvarchar(20) = N'', --会员ID
@corporationName nvarchar(50) = N'', --公司名称
)
AS
BEGINDECLARE @i int
Set @i = 0
--开始循环插入数据;
WHILE @i < 3
BEGIN
Set @i =@i +1 INSERT INTO dbo.Wares (ID, MemberID, CorporationName) VALUES (NEWID(), @memberID, @corporationName)ENDEND上面是源码,关键是.NET里不会循环,比如插入3条,变成了一行:
列memberID 列corporationName
会员id1,会员id2,会员id3 公司名称1,公司名称2,公司名称3我想变成这样的,也就是正常的:
列memberID 列corporationName
会员id1 公司名称1
会员id2 公司名称2
会员id3 公司名称3
修改了1天,我不会.NET编程,自己的网站必须自己搞,小站长不容易啊
NET里循环,比在SQL里好用多了。还不容易出错
INSERT INTO dbo.Wares (ID, MemberID, CorporationName) VALUES (NEWID(), @memberID, @corporationName)
这个句子看不出有什么问题.
for (int i = 0; i < 100; i++)
{
commandParameters[0].Value = model.MemberID[i];
commandParameters[1].Value = model.CompanyName[i];
}
或者: for (int i = 0; i < 100; i++)
{
_waresmodel.MemberID = _model.UserId;
_waresmodel.CompanyName = txtCorporationName.Text;
}
都试过了,不行,继续坐等答案,谢谢您啊!
如果是单纯的编号的话 用下面这段代码可能会事半功倍 /*
* 设计数据表 表结构与将要插入数据的表结构对应
* 如果数据库中设置自增列则可以忽略该列 只设计需要插入的字段
*/
DataTable dt = new DataTable();
//我测试用的数据表 一个名字 一个分数
dt.Columns.Add("SourceName", typeof(string));
dt.Columns.Add("SourceScore", typeof(int));
//循环500条数据 添加到数据表中
for (int i = 0; i < 500; i++)
{
DataRow dr = dt.NewRow();
dr["SourceName"] = i.ToString();
dr["SourceScore"] = (i + 1).ToString();
dt.Rows.Add(dr);
} //创建数据库连接
using (SqlConnection con = new SqlConnection(ConString))
{
con.Open();
//声明SqlBulkCopy ,using释放非托管资源
using (SqlBulkCopy sbc = new SqlBulkCopy(con))
{
//一次批量的插入的数据量
sbc.BatchSize = 1000;
//超时之前操作完成所允许的秒数,如果超时则事务不会提交 ,数据将回滚,所有已复制的行都会从目标表中移除
sbc.BulkCopyTimeout = 60; //要插入数据的表
sbc.DestinationTableName = "test"; //设置 NotifyAfter 属性,每插入10000条数据时,执行相应事件(比如提示,或执行你需要的事件 这里我没设置)
//sbc.NotifyAfter = 10000;
//sbc.SqlRowsCopied += new SqlRowsCopiedEventHandler(OnSqlRowsCopied); //自定义数据表和数据库表的映射 为了区分 自定义表的列名前面用Source
sbc.ColumnMappings.Add("SourceName", "Name");
sbc.ColumnMappings.Add("SourceScore", "Score"); //向服务器插入数据
sbc.WriteToServer(dt);
}
}