多条数据录入问题

loffer 2009-02-20 01:24:48
请问,如果我有一个表格比如说时学生成绩单,列为姓名、数学成绩、语文成绩、历史成绩,类似于此类表格,但是不想每个学生进行一次数据存储,而是多录入一些,比如说十个学生的各科成绩录入完成后,一同insert到数据库,如何实现呢?
用什么控件?或者是代码是什么样的?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
loffer 2009-02-24
  • 打赏
  • 举报
回复
都不错,谢谢大家帮助,不过好像分有点少了,呵呵,不好意思
飘_飘 2009-02-20
  • 打赏
  • 举报
回复
也可以组装成如下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
fx8023jo 2009-02-20
  • 打赏
  • 举报
回复
一定要用事件。
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;
}

只是一个事例,不一定对,也是别人告诉我的,希望能给你一点启发。
jimu8130 2009-02-20
  • 打赏
  • 举报
回复
http://www.cnblogs.com/huangjianhuakarl/archive/2009/02/03/1381710.html
可以参考这个
huguosheng_89412 2009-02-20
  • 打赏
  • 举报
回复
这样应该是可以实习的,感觉不难。
你可以用自动生成那种表格,生成10行,让老师录入,
然后点保存的时候用事务处理一同Insert数据库

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧