符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
下面这个希望可以帮到你~交通灯
为阿城等地区用户提供了全套网页设计制作服务,及阿城网站建设行业解决方案。主营业务为成都做网站、网站设计、阿城网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
实例说明在本实例中,我们将制作一个具有交通灯效果的应用程序。程序运行后,交通灯不断地变化,可以通过按钮运行或停止程序。程序运行结果如图88-1所示。技术要点l 不断变换图片l 不断更改时间间隔 type="text/javascript" type="text/javascript" src=" "
实现过程■ 新建项目打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"Traffic",然后选择保存路径。单击"确认"。■ 添加控件向当前窗体添加一个Timer控件,用于控制交通灯变换的时间;三个Picture控件,分别装入相应的图片;一个Button按钮,用于控制交通灯。属性保持默认值。■ 添加代码Dim vv As BooleanDim updirec As BooleanPrivate Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Clickvv = Timer1.Enabledvv = Not vvTimer1.Enabled = vvIf vv ThenCommand1.Text = "开 始"ElseCommand1.Text = "停 止"End IfEnd SubPrivate Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.TickStatic i As ShortSelect Case iCase 0Timer1.Interval = 3000picicon0.Visible = Truepicicon1.Visible = Falsepicicon2.Visible = Falsei = i + 1updirec = FalseCase 1Timer1.Interval = 1000picicon0.Visible = Falsepicicon1.Visible = Truepicicon2.Visible = False'Me.Icon = picicon(i).ImageIf updirec Theni = i - 1Elsei = i + 1End IfCase 2Timer1.Interval = 3000picicon0.Visible = Falsepicicon1.Visible = Falsepicicon2.Visible = Truei = i - 1updirec = TrueEnd SelectEnd Sub■ 运行程序单击菜单"调试|启动"或单击 图标运行程序。
我在指定的帖子中讲过VB.NET中使用ActiveX的方法。所谓ActiveX,也就是现在我们所说的VBA,但是在VBA中,SendCommand方法实在是不适合使用,比ads_command的功能还差一些。不过话说回来,一些用ARX的高手们都说:“都用ARX了,还用ads_command这样的东西?”。我比较赞同这个观点,程序员自己控制所有的操作灵活性比较好。
script type="text/javascript" src="" /script
script type="text/javascript" src="" /script
有两个表order(orderid,ordername,totalprice), orderdetail(orderid,productid,productname,price) 已经建立一对多
关联(orderid). 用VB.NET建立一个窗体, 用于主表和明细表的数据录入及更新.
在窗体上增加两个sqldataadapter,分别选择order和orderdetail表, 并生成数据集,在DATASET中建立关联(orderid) 主表中:ORDERID,ORDERNAME 绑定在两个TEXTBOX文本框中,用于接受用户的输入,totalprice接受明细表中price
的汇总值.
明细表绑定到一个DATAGRID控件, datasource:dsorder; datamember:order.orderorderdetail建立的关联名称
问题: 在主表中新增一个记录,用户录入orderid和ordername后,进入明细表的录入,用户录入productid, productname, price后,提示 “明细orderID列不允许空值,要更正该值吗?” 是什么原因?
用于连接主表的明细orderID如果输入跟主表一样的orderID时提示“ForeignKeyconstraint 要求在交叉表中存在子键值。要更正该值吗?”
只有录入主表中的orderid和ordername后, 先更新主表数据源,才可以编辑更新明细表,这是为什么? 请问,有没有其他更好的方法, 实现主表和明细表的新增记录同时更新呢? 谢谢关照! 网友:方宇 回复:
附部分源代码:
Public Class fmOrders
Inherits System.Windows.Forms.Form
Dim WithEvents dtOrderDetails As New DataTable()
Dim BmOrders As BindingManagerBase
Dim BmOrderDetails As BindingManagerBase
Dim OrderDetailsHasChange As Boolean
Dim orderid As DataColumn
dim ordername as datacolumn
Dim SubTotal As DataColumn Private Sub bnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnFirst.Click
BmOrders.Position = 0
End Sub
Private Sub bnPrior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnPrior.Click
BmOrders.Position -= 1
End Sub
Private Sub bnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnNext.Click
BmOrders.Position += 1
End Sub
Private Sub bnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnLast.Click
BmOrders.Position = BmOrders.Count - 1
End Sub Private Sub bnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnAdd.Click
Try
BmOrders.EndCurrentEdit()
BmOrders.AddNew()
Catch err As System.SystemException
MessageBox.Show(err.ToString)
End Try
End Sub
Private Sub bnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnLoad.Click
FillData()
End Sub Private Sub bnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnUpdate.Click
Dim dsTestOrdersChange As DataSet BmOrderDetails.EndCurrentEdit()
BmOrders.EndCurrentEdit()
If Not dsTestOrders.HasChanges(DataRowState.Deleted) Then
Try
daOrders.Update(dsTestOrders, "Orders")
daOrderDetails.Update(dsTestOrders, "OrderDetails")
dsTestOrders.AcceptChanges()
Catch err As System.SystemException
dsTestOrders.RejectChanges()
MessageBox.Show(err.ToString)
Throw
End Try
Else
Try
daOrderDetails.Update(dsTestOrders, "OrderDetails")
daOrders.Update(dsTestOrders, "Orders")
dsTestOrders.AcceptChanges()
Catch err As System.SystemException
dsTestOrders.RejectChanges()
MessageBox.Show(err.ToString)
Throw
End Try
End If
End Sub Private Sub fmOrders_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FillData()
dtOrderDetails = dsTestOrders.Tables("OrderDetails")
BmOrders = Me.BindingContext(dsTestOrders, "Orders")
BmOrderDetails = Me.BindingContext(dsTestOrders, "Orders.OrdersOrderDetails")
OrderDetailsHasChange = True
SubTotal = dsTestOrders.Tables("Orders").Columns("SubTotal")
SubTotal.DefaultValue = 0
Price = dsTestOrders.Tables("OrderDetails").Columns("Price")
Price.DefaultValue = 0
End Sub Private Sub FillData()
dsTestOrders.EnforceConstraints = False
daOrders.Fill(dsTestOrders)
daOrderDetails.Fill(dsTestOrders)
dsTestOrders.EnforceConstraints = True
End Sub
Private Sub dtOrderDetails_ColumnChanged(ByVal sender As Object, ByVal e As System.Data.DataColumnChangeEventArgs) _
Handles dtOrderDetails.ColumnChanged Dim drOrders As DataRow
Dim drOrderDetails As DataRow
Dim iSubTotal As Integer
Try
If OrderDetailsHasChange Then
OrderDetailsHasChange = False
drOrders = dsTestOrders.Tables("Orders").Rows(BmOrders.Position)
iSubTotal = 0
For Each drOrderDetails In drOrders.GetChildRows("OrdersOrderDetails")
iSubTotal = iSubTotal + drOrderDetails("price")
Next
drOrders.BeginEdit()
drOrders("SubTotal") = iSubTotal
drOrders.EndEdit()
End If
Finally
OrderDetailsHasChange = True
End Try
End Sub Private Sub bndelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bndelete.Click
If BmOrders.Count 0 Then
BmOrders.RemoveAt(BmOrders.Position)
End If
End Sub Private Sub bncancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bncancel.Click
BmOrders.CancelCurrentEdit() End Sub
End Class script type="text/javascript" src="" /script
script type="text/javascript" src="" /script
使用向导设置数据库连接的好处是省去写代码的过程,弊端是不易更改连接
使用代码连接的好处是需要编写代码,但容易更改和维护
如:数据库的位置变化,直接更改代码显然容易一些
代码:
imports System.data.oledb /*引用命名空间*/
dim cnstr = "provider=microsoft.jet.oledb.4.0,data source=Access数据库文件位置" /*定义连接字符串*/
dim cn as oledbconnection = new oledbconnection(cnstr) /*定义连接*/
cn.open() /*打开连接*/
sqlstr="select... from... 或其他sql"
dim cmd as sqlcommand=new sqlcommand()
cmd.commandtext=sqlstr
cmd.connection=cn
/*以上是建立执行语句*/
cmd.executenonquery() 不返回结果
cmd.executescalar() 返回单个结果
cmd.executereader() 返回结果集
/*以上是执行sql语句的方法*/
cn.close() /*关闭连接*/
你要做用户验证的话,先根据用户名查询对应的密码,再判断用户输入的密码和查询结果是不是相同就可以了
用cmd.executescalar() 这个方法
1、实现上传按钮方法代码。
2、判断图片对象是否为空代码。
3、取得数据库字段 dt.Rows(0)("Pic")方法代码。
4、字节数组转换为Image类型方法代码。
5、处理SQL中操作Image类型方法代码。
6、实现的上传结果。
你可以把Textbox2代码中的C=B*100改成C=CDbl(B)*100,就像Textbox3中的一样
还有,就是您指的究竟是什么问题?为什么从图上看不出什么异常呢?
至于文本框中输入的内容,应该是什么都可以。只是经过val函数处理后,如果不是纯数字,就会得到一个0。即val("23.2")=23.2,val("ads")=0