汇总表没有数据为什么

djmm041102 2007-06-12 08:04:46
我做的几个表录入完数据后生成汇总表 可是却没有数据为什么呢
我用的是vb.net+sql
...全文
786 62 打赏 收藏 转发到动态 举报
写回复
用AI写文章
62 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanjie88 2007-06-24
  • 打赏
  • 举报
回复
你一直不跟我说表的结构,我怎么写呢?
djmm041102 2007-06-22
  • 打赏
  • 举报
回复
保存到一个表
select * from table where gonghao=你给的值 gonghao=你给的值 这是等于什么啊


If Session("safepage_exist") = 0 Then
If sealx.Text = "" Or nmbhg.Text = "" Or ratiohg.Text = "" Or lossm.Text = "" Then
msg1.Text = "请将信息填写完整!"
Return
End If
Dim conn As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("strConn"))
conn.Open()
Dim strSelect As String = "select * from 月份数据动态表 where 企业名称= '" & Session("企业名称") & "' and 年 = " & Year(Now) & " and 月 = " & Month(Now)
Dim adp As New SqlDataAdapter(strSelect, conn)
Dim ds As New DataSet()
adp.Fill(ds, "月份数据动态表")
Dim dt As DataTable = ds.Tables("月份数据动态表")
Dim dr As DataRow
dr = dt.NewRow()
dr("年") = y.Text
dr("月") = m.Text
dr("企业名称") = qy.Text
dr("焊接x光拍片张数") = sealx.Text
dr("一次合格张数") = nmbhg.Text
If ratiohg.Text >= 0 And ratiohg.Text <= 100 Then
dr("合格率") = ratiohg.Text
Else
msg1.Text = "您的输入有误!请重新输入!"
Return
End If
dr("质量损失额") = lossm.Text

dr("录入状态") = 5

dt.Rows.Add(dr)
Dim cmdbld As New SqlCommandBuilder(adp)
adp.Update(ds, "月份数据动态表")
conn.Close()
conn = Nothing
End If


在那里加入你说的代码呢
我没有在数据库里没有用语句写什么 都是在开发工具中作的
那样select update insert 怎么写呀
sanjie88 2007-06-22
  • 打赏
  • 举报
回复
你说的是哪个阿 保存的吗
以“企业名称”、“年”和“月”查询
http://community.csdn.net/Expert/topic/5594/5594736.xml?temp=.8151056

If rs.HasRows = True And 新工号.Checked = False Then
Response.Redirect("单船经营及生产信息.aspx")
Session("工号") = rs("工号")
End If
这段是判断是不是新的工号 是我想把那个工号写入数据库中
================================================================
你保存的东西是保存到一个表还是几个表,把你要操作的表的结构给出来阿
一般可以这样
select * from table where gonghao=你给的值
如果返回的有值,那么说明这条记录存在的.用UPDATE
如果返回为空,那么插入,INSERT,思路就是这样.
sanjie88 2007-06-21
  • 打赏
  • 举报
回复
你先说说你那个表的结构,然后我才能说怎么做.
djmm041102 2007-06-21
  • 打赏
  • 举报
回复
Dim conn As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("strConn"))
Dim sql As String = "select * from 单船统计指标 "
Dim comm As SqlCommand = New SqlCommand(sql, conn)
conn.Open()
Dim rs As SqlDataReader = comm.ExecuteReader()

If rs.HasRows = True And 新工号.Checked = False Then
Response.Redirect("单船经营及生产信息.aspx")
Session("工号") = rs("工号")
End If

conn.Close()
我应该怎么样才能把判断的这个新工号写入的数据库里
djmm041102 2007-06-20
  • 打赏
  • 举报
回复
能简单说一下应该怎么改可以让它不增加记录只是更新呢

sanjie88 2007-06-20
  • 打赏
  • 举报
回复
我觉得你应该先看下数据库的书,我也不知道该怎么表达了.
djmm041102 2007-06-20
  • 打赏
  • 举报
回复
要怎么改呢 不理解你所说的
sanjie88 2007-06-20
  • 打赏
  • 举报
回复
那怎么改呢去掉update吗

还是怎样呢

dt.Rows.Add(dr)没有这个数据库里不会增加新行吧 那新记录录入怎么办啊
=================================================
你用ADD肯定是增加了,新记录的录入应该是找到dt中已经存在的那一条,修改某一列的值.
djmm041102 2007-06-20
  • 打赏
  • 举报
回复
dt.Rows.Add(dr)
Dim cmdbld As New SqlCommandBuilder(adp)
adp.Update(ds, "月份数据动态表")
conn.Close()
conn = Nothing
能在这里给我说说加载那里
adp.Update(ds, "月份数据动态表")这句不是更新吗
sanjie88 2007-06-20
  • 打赏
  • 举报
回复
或者先写个查询,看有没有已存在的记录,有的话再UPDATE
sanjie88 2007-06-20
  • 打赏
  • 举报
回复
我想你那张表有个主键吧,根据那个主键写个UPDATE的SQL语句就好了
sanjie88 2007-06-14
  • 打赏
  • 举报
回复
多条的话你就一条条的更新阿.这是没办法的
sanjie88 2007-06-14
  • 打赏
  • 举报
回复
我觉得你首先要分清楚你的代码到底要干什么的,更新数据库里的数据,还是添加一个新的.
如果是更新的话,那么你就用UPDATE的SQL语句.
djmm041102 2007-06-14
  • 打赏
  • 举报
回复
去掉那句话就行了吗 可是那多条不同的数据怎么办呢
sanjie88 2007-06-14
  • 打赏
  • 举报
回复
dt.Rows.Add(dr)
你自己用添加的,那肯定会加入数据了
djmm041102 2007-06-14
  • 打赏
  • 举报
回复
还有问题就是 保存时每点击保存一次数据库中就多了一条记录 如何控制不在增加呢

If Session("safepage_exist") = 0 Then
If sealx.Text = "" Or nmbhg.Text = "" Or ratiohg.Text = "" Or lossm.Text = "" Then
msg1.Text = "请将信息填写完整!"
Return
End If
Dim conn As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("strConn"))
conn.Open()
Dim strSelect As String = "select * from 月份数据动态表 where 企业名称= '" & Session("企业名称") & "' and 年 = " & Year(Now) & " and 月 = " & Month(Now)
Dim adp As New SqlDataAdapter(strSelect, conn)
Dim ds As New DataSet()
adp.Fill(ds, "月份数据动态表")
Dim dt As DataTable = ds.Tables("月份数据动态表")
Dim dr As DataRow
dr = dt.NewRow()
dr("年") = y.Text
dr("月") = m.Text
dr("企业名称") = qy.Text
dr("焊接x光拍片张数") = sealx.Text
dr("一次合格张数") = nmbhg.Text
If ratiohg.Text >= 0 And ratiohg.Text <= 100 Then
dr("合格率") = ratiohg.Text
Else
msg1.Text = "您的输入有误!请重新输入!"
Return
End If
dr("质量损失额") = lossm.Text

dr("录入状态") = 5

dt.Rows.Add(dr)
Dim cmdbld As New SqlCommandBuilder(adp)
adp.Update(ds, "月份数据动态表")
conn.Close()
conn = Nothing
End If

不好意思代码很乱 可是我现在真是不懂了 只能是发上来麻烦大家了
djmm041102 2007-06-14
  • 打赏
  • 举报
回复
我的qq 85139874 加上我吧朋友
djmm041102 2007-06-14
  • 打赏
  • 举报
回复
那怎么改呢去掉update吗

还是怎样呢

dt.Rows.Add(dr)没有这个数据库里不会增加新行吧 那新记录录入怎么办啊
sanjie88 2007-06-14
  • 打赏
  • 举报
回复
dr("质量损失额") = lossm.Text

dr("录入状态") = 5

dt.Rows.Add(dr)
Dim cmdbld As New SqlCommandBuilder(adp)
adp.Update(ds, "月份数据动态表")
conn.Close()
conn = Nothing
===========================================
就看这段代码,你先添加了一行记录到你定义的DATATABLE里面,然后你UPDATE了这个表,你当然会多一条记录了

加载更多回复(42)

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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