首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

多条数据录入有关问题

2012-03-05 
多条数据录入问题请问,如果我有一个表格比如说时学生成绩单,列为姓名、数学成绩、语文成绩、历史成绩,类似于

多条数据录入问题
请问,如果我有一个表格比如说时学生成绩单,列为姓名、数学成绩、语文成绩、历史成绩,类似于此类表格,但是不想每个学生进行一次数据存储,而是多录入一些,比如说十个学生的各科成绩录入完成后,一同insert到数据库,如何实现呢?
用什么控件?或者是代码是什么样的?

[解决办法]
这样应该是可以实习的,感觉不难。
你可以用自动生成那种表格,生成10行,让老师录入,
然后点保存的时候用事务处理一同Insert数据库
[解决办法]
http://www.cnblogs.com/huangjianhuakarl/archive/2009/02/03/1381710.html
可以参考这个
[解决办法]
一定要用事件。
public static bool addUser(User user)
{
if(user == null) return false;
string SQLSTR1 = "insert into `user` values(@A,@B,@C,@D,@E,@F,@G)";
string SQLSTR2 = "insert into userdetail values(@A,@B,@C,@D,@E)";
SqlConnection conn = DBConn.SqlConnection(CONSTR);
SqlTransaction autoCommit = conn.BeginTransaction();//建立一个事务
SqlCommand _Sqlcommand = new SqlCommand(SQLSTR1, conn);
_Sqlcommand.Transaction = _Transaction;

if(conn == null) return false;
bool success = false;
try
{

SqlParameter[] _Parmeter1 = new SqlParameter[]
{
new SqlParameter("@A",SqlDbType.VarChar), //pstat1.setString(1, user.getId());
new SqlParameter("@B",SqlDbType.VarChar), // pstat1.setString(2, StringUtil.str(user.getPw()));
new SqlParameter("@C",SqlDbType.Int), // pstat1.setNull(3, Types.INTEGER); or null
new SqlParameter("@D",SqlDbType.Int), // pstat1.setInt(4,user.getDutyid()); or null
new SqlParameter("@E",SqlDbType.VarChar), // pstat1.setString(5, user.getCalllevel());
new SqlParameter("@F",SqlDbType.VarChar), //null pstat1.setString(6, null);
new SqlParameter("@G",SqlDbType.DateTime) //null pstat1.setDate(7, null);
};

_Parmeter1[0].Value = user.getId();
_Parmeter1[1].Value = user.getPw();
_Parmeter1[2].Value = user.getPw();
_Parmeter1[3].Value = user.getDutyid(); //判断可能为NULL
_Parmeter1[4].Value = user.getCalllevel(); //判断可能为NULL
_Parmeter1[5].Value = DBNull.Value;
_Parmeter1[6].Value = DBNull.Value;


_Sqlcommand.Parameters = _Parmeter1;
bool rs1 = (_Sqlcommand.ExecuteNonQuery() == 1);

_Sqlcommand.CommandText = SQLSTR2;
SqlParameter[] _Parmeter2 = new SqlParameter[]
{
new SqlParameter("@A",SqlDbType.VarChar), // pstat2.setString(1, user.getId());
new SqlParameter("@B",SqlDbType.VarChar), // pstat2.setString(2, user.getNickname());
new SqlParameter("@C",SqlDbType.VarChar), // pstat2.setString(3, user.getTruename());
new SqlParameter("@D",SqlDbType.VarChar), // pstat2.setString(4, user.getBirthday());
new SqlParameter("@E",SqlDbType.VarChar), // pstat2.setString(5, user.getEmail());

};


_Parmeter2[0].Value = user.getId();
_Parmeter2[1].Value = user.getNickname();
_Parmeter2[2].Value = user.getTruename();
_Parmeter2[3].Value = user.user.getBirthday(); //判断可能为NULL
_Parmeter2[4].Value = user.getEmail();

bool rs2 = (_Sqlcommand.ExecuteNonQuery() == 1);


success = rs1 && rs2;
}
catch (SqlException e)
{
//e.printStackTrace();
}
finally
{
try
{
if(success)
{
autoCommit.Commit();
}
else
{
autoCommit.Rollback();
}
}
catch (SqlException e)
{
//e.printStackTrace();
}
conn.Close();
}
return success;


只是一个事例,不一定对,也是别人告诉我的,希望能给你一点启发。
[解决办法]
也可以组装成如下SQL 一句搞定
insert into Table(a,b,c,d)
select 'a1' as a,'b1' as b,'c1' as c,'d1' as d
union
select 'a2' as a,'b2' as b,'c2' as c,'d2' as d

热点排行