• linux mono 调用windows sqlServer 2005


    1.         实现linux mono Develop中调用windows 中的ql Server 2005

     


    linux windows 在一个局域网的网段中

    windows 中安装 sql Server 2005

    2.         windows 中的设置

    sql sever 2005 northwin数据库

    1.1 product结构

    jm4.jpg

     

    1.2 Categories 结构

    jm3.jpg

     

    2 如果本机的防火强开启,请关闭。如果防火墙开启,windows会阻止linux的访问


     

     

    3.         Linux中的设置

    3.1 Ping windows IP ,确认linux 可访问windows

     

     

     

    3.2 界面设计

    3.2.1 数据与PropertyGrid绑定界面

     

    JM1.jpg

     

    3.2.2 数据与gridView绑定界面

    jm2.jpg

     

     

     

    3.3 代码

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Text;

    using System.Windows.Forms;

    using System.Data.SqlClient;

     

    namespace WinMonoApp

    {

        public partial class frmWFBrowse : Form

        {

            SqlDataAdapter myDataAdapter = null;

     

            //List<bindPropertyData> bindPropertyList = null;

     

            string myConnectionString = null;

     

            string sqlProduct = "SELECT * FROM [Northwind].[dbo].[Products] ";

     

            string sqlCategory = "SELECT [CategoryID],[CategoryName],[Description] FROM [Northwind].[dbo].[Categories] ";

     

          

     

            DataSet myCategory = new DataSet();

            DataSet myProduct = new DataSet();

     

            public frmWFBrowse()

            {

     

                InitializeComponent();

     

            }

     

     

     

            private void btnOK_Click(object sender, EventArgs e)

            {

     

                myConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["WinMonoApp.Properties.Settings.BPMDBConnectionString"].ConnectionString;

     

     

     

                //MessageBox.Show(myConnectionString);

     

                myDataAdapter = new SqlDataAdapter(sqlCategory, myConnectionString);

     

              

     

     

     

                myDataAdapter.Fill(myCategory);

     

                myDataAdapter.SelectCommand.CommandText = string.Format(sqlProduct );

     

                myDataAdapter.Fill(myProduct);

     

     

     

                //MessageBox.Show(myDs.Tables[0].Rows.Count.ToString());

     

     

     

                this.FillTemplate();

     

            }

     

     

            private void FillTemplate()

            {

                try

                {

                  

                    if(myCategory.Tables.Count!=0)

                    {

                        this.lbTemplate.DisplayMember = "CategoryName";

                      

                        this.lbTemplate.DataSource = myCategory.Tables[0];

                    }

                }

                catch(Exception myEx)

                {

                    MessageBox.Show(myEx.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);

                }

     

            }

     

            private void lbTemplate_SelectedIndexChanged(object sender, EventArgs e)

            {

                var wfv = this.lbTemplate.SelectedItem as DataRowView ;

                if (wfv != null)

                {

                  this.llDeleteTemplate.Enabled = true;

               

                  this.pgTemplateV.SelectedObject = wfv;

     

     

                  DataRow[]  myProductList=myProduct.Tables[0].Select(string.Format("CategoryID={0}",wfv.Row.ItemArray[0]));

     

                 

                  this.pgTemplateInfo.SelectedObjects = myProductList;

     

     

                  DataTable myDataTable = myProductList[0].Table.Clone();

                  myDataTable.Rows.Clear();

     

                  foreach (var row in myProductList)

                  {

                    myDataTable.ImportRow(row );

                  }

                  this.dgvBindProperty.DataSource = myDataTable ;

                }

               

            }

            private void frmWFBrowse_Load(object sender, EventArgs e)

            {

                this.llDeleteTemplate.Enabled = false;

            }

     

            private void llDeleteTemplate_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

            {

              

            }

     

         

        }

    }

    3.4 App.config

        <connectionStrings>

            <add name="WinMonoApp.Properties.Settings.BPMDBConnectionString" connectionString="Data Source=10.168.14.131;Initial Catalog=Northwind;User ID=sa;Password=sqlsa" providerName="System.Data.SqlClient"/>

        </connectionStrings>

     

    3.5 运行效果

    3.5.1 PropertyGrid绑定效果

    sql1.jpg

    3.5.2 PropertyGrid子项编辑

    sql2.jpg

    3.5.3 GridView绑定效果

     


     

     

     

     

  • 相关阅读:
    构造方法和析构方法调用上级同类方法的问题
    PHP中parent关键词
    PHP中访问控制修饰符
    PHP中继承
    PHP中this,self,parent的区别
    PHP中的构造方法和析构方法
    PHP中类中成员及常量
    怎样设计一个好的数据库
    PHP执行原理
    PHP对象在内存中的分配
  • 原文地址:https://www.cnblogs.com/hbb0b0/p/1500789.html
Copyright © 2020-2023  润新知