首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

[札记]实战Silverlight+WebService+OleDB+Oracle

2012-11-08 
[笔记]实战Silverlight+WebService+OleDB+Oracle???? Silverlight与后台数据交互,可以有多种方式,例如可以

[笔记]实战Silverlight+WebService+OleDB+Oracle

?

??? Silverlight与后台数据交互,可以有多种方式,例如可以利用.net 3.5新特性LinQ to SQL,也可以利用WebService。本例则专门针对通过Web Service。关于LinQ to SQL 的例子,在以后的文章中再详述。

?

四、实战过程

?

(一)创建项目:

1、点击菜单“文件”--“新建项目”,在“新建项目”对话窗中,选择“Silverlight”项目类型,选择“Silverlight Application”项目模板,输入项目名称为“JobDemo”,如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

??? 然后点击“确定”按钮。

??? 接着,在“Add Silverlight Application”对话窗中选择第一项选择项,然后点击“确定”,如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

??? 稍后,默认的Silverlight项目创建完毕。如图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

(二)、创建SOAP WebService:

1、在“解决方案资源管理器”视图中,鼠标右键点击“JobDEmo_Web”项目,选择弹出菜单中的“添加新项”,如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

?

2、在“添加新项”对话窗中,选择“WEB 服务”项目,在“名称”处输入:JobManageService.asmx,点击“添加”按钮。如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

点击“JobDemo_Web”项目后,在“属性窗口”修改Web服务的属性,其中“使用动态端口”改为False,“端口号”改为:65520.如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

?

3、编辑修改Web服务代码:在默认生成的HelloWorld()服务操作后面,增加一个新增Job记录的操作,代码如下:

<WebMethod()> _
Public Function AddJob(ByVal JobID As String, ByVal JobName As String) As Boolean
?? Try
???? Dim conn As New OleDbConnection()
???? conn.ConnectionString = "Provider=MSDAORA;Data Source=o9i;"+ _
???????????????????????????? "Persist Security Info=True;User ID=scott;Password=tiger"
???? conn.Open()

???? Dim command As OleDbCommand = New OleDbCommand()
???? command.Connection = conn
???? command.CommandType = Data.CommandType.Text
???? command.CommandText = "INSERT INTO JOB(JOB_ID,FUNCTION) VALUES ('" + JobID + "','" + JobName + "')"
???? command.ExecuteNonQuery()
???? conn.Close()
???? Return True
?? Catch ex As Exception
???? Return False
?? End Try
End Function

???代码中,定义了一个Web服务的操作(Operation),名叫AddJob,入口参数有两个,分别是JobID和JobName。操作中,通过OleDB组件,访问Oralce数据库,将新的Job插入数据库JOB表中,因此,在你的Oracle数据库中必须已经有一个Table,至少含了两个字段,分别是JOB_ID、FUNCTION,类型分别是整数和字符串。其中,连接数据库的连接串可以根据自己的Oracle数据库的位置进行修改,也可以修改该连接串从而连接到其他的数据库而不一定是Oracle数据库。

??? 此外,你还可以参照AddJob操作,增加自己其他的操作,例如删除Job,修改Job等。

??? 以上代码编辑好后,在“解决方案资源管理器”视图中,鼠标右键点击“JobDemo_Web”项目,选择弹出菜单中的“生成网站”,将Web服务发布到调试Web服务器并启动它。屏幕右下角将看到小图标,如下图红色框:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

(三)加入Web服务引用:在“解决方案资源管理器”视图中,鼠标右键点击“JobDemo”项目,选择弹出菜单中的“添加Web服务引用”,如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

??? 在弹出的“添加服务引用”窗口中,点击“发现”按钮,稍侯将在“服务”列表中列出本机的Web服务,在“命名空间”处输入“JobManageServiceReference”,点击“确定”按钮,完成Web服务引用。如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

?

(四)设计前端Silverlight页面:双击Page.xaml,打开并编辑,删除默认生成的Grid组件,拖入Canvas组件,定义相关属性,然后在Canvas组件、上面拖入两个TextBlock和两个TextBox,再拖入一个Button,并定义这些组件的相关属性,形成如下图的页面:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

最后编辑形成的Page.xaml文件如下:

<UserControl x:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xam"
Width="400" Height="300" >
<Canvas x:Name="canvas1" Canvas.Left="0" Canvas.Top="0" Width="800" Height="600" >
???? <TextBlock Text="工种编号:" Canvas.Left="50" Canvas.Top="10"Width="100" Height="24" TextAlignment="Right"></TextBlock>
???? <TextBlock Text="工种名称:" Canvas.Left="50" Canvas.Top="38"Width="100" Height="24" TextAlignment="Right"></TextBlock>
???? <TextBox x:Name="InputJobID" Text="" Canvas.Left="150" Canvas.Top="10" Width="100" Height="24" ></TextBox>
???? <TextBox x:Name="InputJobName" Text="" Canvas.Left="150" Canvas.Top="38" Width="100" Height="24" ></TextBox>
???? <Button x:Name="AddButton" Canvas.Left="150" Canvas.Top="70"Width="100" Height="30" Content="增加工种" FontSize="20"Click="AddButton_Click"></Button>
</Canvas>
</UserControl>

(五)编写“增加工种”按钮的单击事件处理程序:在Page.xaml源代码视图中找到按钮的Click属性,点击鼠标右键,在弹出的窗口中选择“导航到时间处理程序”,如下图:

?

[札记]实战Silverlight+WebService+OleDB+Oracle

?

编辑修改事件处理代码为:

Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
????? Dim CallWebService As New JobManagServiceReference.JobManageServiceSoapClient
????? CallWebService.AddJobAsync(InputJobID.Text, InputJobName.Text)
End Sub

?

(六)运行并测试程序:输入工种号码和名称,点击“增加工种”按钮,然后打开数据库Job表,看看是否增加成功。

?

【完毕】

热点排行