ÏÂÃæÊÇÎÒ×ܽá³öÀ´µÄÒ»¸öÊý¾Ý¿â·ÃÎʹ«¹²À࣬»ùÓÚADO.NET£¬C#µÄ£¬ÆäÖУ¬ÒÔÖØÔصķ½Ê½ÊµÏÖʹÓôæÊô¹ý³ÌµÄ½Ó¿ÚºÍ²»Óô洢¹ý³ÌµÄ½Ó¿Ú£¬ÈçÓв»Í×Çë´ó¼ÒÖ¸Õý£¬Ð»Ð»~
×÷Õߣºshinehoo
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace shinehoo.db
{
/// <summary>
/// ¶ÔÊý¾Ý¿âµÄһЩ¹«¹²²Ù×÷
/// </summary>
public class DBOperate
{
/// <summary>
/// ½¨Á¢Êý¾Ý¿âÁ¬½Ó
/// </summary>
/// <returns>·µ»ØSqlConnection¶ÔÏó</returns>
public static SqlConnection getConnection()
{
SqlConnection myCon;
try
{
string strSqlCon = "Data Source = SHINEHOO-PC\\SQLEXPRESS; Initial Catalog = ShineHoo_DB; Integrated Security = True";
//SqlConnectionÀàÓÃÀ´Á¬½ÓÊý¾Ý¿â
myCon = new SqlConnection(strSqlCon);
}
catch (Exception e)
......
ÏÂÃæÊÇÎÒ×ܽá³öÀ´µÄÒ»¸öÊý¾Ý¿â·ÃÎʹ«¹²À࣬»ùÓÚADO.NET£¬C#µÄ£¬ÆäÖУ¬ÒÔÖØÔصķ½Ê½ÊµÏÖʹÓôæÊô¹ý³ÌµÄ½Ó¿ÚºÍ²»Óô洢¹ý³ÌµÄ½Ó¿Ú£¬ÈçÓв»Í×Çë´ó¼ÒÖ¸Õý£¬Ð»Ð»~
×÷Õߣºshinehoo
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace shinehoo.db
{
/// <summary>
/// ¶ÔÊý¾Ý¿âµÄһЩ¹«¹²²Ù×÷
/// </summary>
public class DBOperate
{
/// <summary>
/// ½¨Á¢Êý¾Ý¿âÁ¬½Ó
/// </summary>
/// <returns>·µ»ØSqlConnection¶ÔÏó</returns>
public static SqlConnection getConnection()
{
SqlConnection myCon;
try
{
string strSqlCon = "Data Source = SHINEHOO-PC\\SQLEXPRESS; Initial Catalog = ShineHoo_DB; Integrated Security = True";
//SqlConnectionÀàÓÃÀ´Á¬½ÓÊý¾Ý¿â
myCon = new SqlConnection(strSqlCon);
}
catch (Exception e)
......
Welcome to Microsoft Developer Support, Languages team blog! You will find a lot of language related troubleshooting resources here.
Troubleshooting PInvoke Related Issues
I am back with some more PInvoke Stuff. Recently I was working on a PInvoke issue which I found interesting.
I have a C++ dll which has a function whose signature is
int TestFunc(IN_STRUCT in_Params, RET_STRUCT * pret_Par).
I wanted to call this function from C#. Function has two arguments. First argument is input structure which will be filled from C# code and passed to C++ code. Second argument is output structure which is filled in C++ code and output to C# code.
Here are the C struct definitions and a function that needs to be marshaled
#include "stdafx.h"
#include <stdio.h>
#include "Objbase.h"
#include <malloc.h>
typedef struct IN_STRUCT
{
&nbs ......
Welcome to Microsoft Developer Support, Languages team blog! You will find a lot of language related troubleshooting resources here.
Troubleshooting PInvoke Related Issues
I am back with some more PInvoke Stuff. Recently I was working on a PInvoke issue which I found interesting.
I have a C++ dll which has a function whose signature is
int TestFunc(IN_STRUCT in_Params, RET_STRUCT * pret_Par).
I wanted to call this function from C#. Function has two arguments. First argument is input structure which will be filled from C# code and passed to C++ code. Second argument is output structure which is filled in C++ code and output to C# code.
Here are the C struct definitions and a function that needs to be marshaled
#include "stdafx.h"
#include <stdio.h>
#include "Objbase.h"
#include <malloc.h>
typedef struct IN_STRUCT
{
&nbs ......
Welcome to Microsoft Developer Support, Languages team blog! You will find a lot of language related troubleshooting resources here.
Troubleshooting PInvoke Related Issues
I am back with some more PInvoke Stuff. Recently I was working on a PInvoke issue which I found interesting.
I have a C++ dll which has a function whose signature is
int TestFunc(IN_STRUCT in_Params, RET_STRUCT * pret_Par).
I wanted to call this function from C#. Function has two arguments. First argument is input structure which will be filled from C# code and passed to C++ code. Second argument is output structure which is filled in C++ code and output to C# code.
Here are the C struct definitions and a function that needs to be marshaled
#include "stdafx.h"
#include <stdio.h>
#include "Objbase.h"
#include <malloc.h>
typedef struct IN_STRUCT
{
&nbs ......
1. ÔÚoracle Ï´´½¨±í
t_user(
ID varchar(20),
Name varchar(20)
)
2. Ìí¼ÓÊý¾Ý
'1' , 'ÕÅÈý'
'2' , 'ÀîËÄ'
3. ´´½¨°ü²¢ÇÒ¶¨Òå±äÁ¿ºÍÉùÃ÷´æ´¢¹ý³Ì
CREATE OR REPLACE PACKAGE pkg_user AS
--¶¨Òå·µ»ØÖµ£¨ÓαêÀàÐÍ£©
TYPE myrctype IS REF CURSOR;
--¶¨Òå²éѯ¹ý³Ì
PROCEDURE sp_userlist (cur_result OUT myrctype);
END pkg_user;
4.´´½¨´æ´¢¹ý³Ì sp_userlist
CREATE OR REPLACE PACKAGE BODY "PKG_USER" AS
--²éѯ¹ý³Ì
......
1. ÔÚoracle Ï´´½¨±í
t_user(
ID varchar(20),
Name varchar(20)
)
2. Ìí¼ÓÊý¾Ý
'1' , 'ÕÅÈý'
'2' , 'ÀîËÄ'
3. ´´½¨°ü²¢ÇÒ¶¨Òå±äÁ¿ºÍÉùÃ÷´æ´¢¹ý³Ì
CREATE OR REPLACE PACKAGE pkg_user AS
--¶¨Òå·µ»ØÖµ£¨ÓαêÀàÐÍ£©
TYPE myrctype IS REF CURSOR;
--¶¨Òå²éѯ¹ý³Ì
PROCEDURE sp_userlist (cur_result OUT myrctype);
END pkg_user;
4.´´½¨´æ´¢¹ý³Ì sp_userlist
CREATE OR REPLACE PACKAGE BODY "PKG_USER" AS
--²éѯ¹ý³Ì
......
¼´½«Òª×ßÉϹ¤×÷¸ÚλÁË£¬µ«ÊÇ×Ô¼º»¹ÔÚÓÌÔ¥Öе½µ×ÊÇÑ¡Ôñc#»¹ÊÇjava£¬¶¼ËµjavaÒÔºóµÄÇ°¾°·Ç³£µÄÀÖ¹Û£¬Ö÷ÒªÊÇÌåÏÖÔÚÒƶ¯Í¨ÐÅƽ̨ÉÏ£¬µ«ÊÇC#×÷Ϊ΢ÈíµÄ“ɱÊÖïµ”£¬Óë´Ëͬʱ΢Èí×÷Ϊҵ½çÀÏ´óµÄµØλËÓÖÄܺ³¶¯ÄÄ£¬Î´À´µÄÔƼÆËã¶Ô¼ÆËã»úÖÕ¶Ëƽ̨µÄ¸ïÃüÐԵĸı䣬windows²Ù×÷ϵͳµÄ°ÔÖ÷µØλ²ÅÓпÉÄܱ»º³¶¯¡£c#µÄ·½±ã¼òµ¥ÓëjavaµÄ¹¦ÄÜÈ«Ã渴ÔÓÔõÑùÑ¡Ôñ£¬ÖµµÃ×Ô¼ººÃºÃÏëÏë¡£
ºÇºÇ£¬×ÜËãÊÇ¿ªÍ¨ÁË×Ô¼ºµÄ¿Õ¼ä£¬Ôڱ˴˷ÖÏíµÄͬʱ£¬¹²Í¬½ø²½£¡ ......
¼´½«Òª×ßÉϹ¤×÷¸ÚλÁË£¬µ«ÊÇ×Ô¼º»¹ÔÚÓÌÔ¥Öе½µ×ÊÇÑ¡Ôñc#»¹ÊÇjava£¬¶¼ËµjavaÒÔºóµÄÇ°¾°·Ç³£µÄÀÖ¹Û£¬Ö÷ÒªÊÇÌåÏÖÔÚÒƶ¯Í¨ÐÅƽ̨ÉÏ£¬µ«ÊÇC#×÷Ϊ΢ÈíµÄ“ɱÊÖïµ”£¬Óë´Ëͬʱ΢Èí×÷Ϊҵ½çÀÏ´óµÄµØλËÓÖÄܺ³¶¯ÄÄ£¬Î´À´µÄÔƼÆËã¶Ô¼ÆËã»úÖÕ¶Ëƽ̨µÄ¸ïÃüÐԵĸı䣬windows²Ù×÷ϵͳµÄ°ÔÖ÷µØλ²ÅÓпÉÄܱ»º³¶¯¡£c#µÄ·½±ã¼òµ¥ÓëjavaµÄ¹¦ÄÜÈ«Ã渴ÔÓÔõÑùÑ¡Ôñ£¬ÖµµÃ×Ô¼ººÃºÃÏëÏë¡£
ºÇºÇ£¬×ÜËãÊÇ¿ªÍ¨ÁË×Ô¼ºµÄ¿Õ¼ä£¬Ôڱ˴˷ÖÏíµÄͬʱ£¬¹²Í¬½ø²½£¡ ......
netÖÐC#´úÂëÓëjavaScriptº¯ÊýµÄÏ໥µ÷ÓÃÎÊÌâ¡£
¡¡¡¡ÎÊ£º
¡¡¡¡1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
¡¡¡¡2.ÈçºÎÔÚJavaScript·ÃÎÊC#±äÁ¿?
¡¡¡¡3.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptµÄÒÑÓбäÁ¿?
¡¡¡¡4.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptº¯Êý?
¡¡¡¡ÎÊÌâ1´ð°¸ÈçÏ£º
¡¡¡¡javaScriptº¯ÊýÖÐÖ´ÐÐC#´úÂëÖеĺ¯Êý£º
¡¡¡¡·½·¨Ò»£º1¡¢Ê×ÏȽ¨Á¢Ò»¸ö°´Å¥£¬ÔÚºǫ́½«µ÷Óûò´¦ÀíµÄÄÚÈÝдÈëbutton_clickÖÐ;
¡¡¡¡2¡¢ÔÚǰ̨дһ¸öjsº¯Êý£¬ÄÚÈÝΪdocument.getElementById("btn1").click();
¡¡¡¡3¡¢ÔÚǰ̨»òºǫ́µ÷ÓÃjsº¯Êý£¬¼¤·¢clickʼþ£¬µÈÓÚ·ÃÎʺǫ́c#º¯Êý;
¡¡¡¡·½·¨¶þ£º1¡¢º¯ÊýÉùÃ÷Ϊpublic
¡¡¡¡ºǫ́´úÂë(°Ñpublic¸Ä³ÉprotectedÒ²¿ÉÒÔ)
public string ss()
¡¡¡¡{
¡¡¡¡return("a");
¡¡¡¡}
¡¡¡¡2¡¢ÔÚhtmlÀïÓÿÉÒÔµ÷ÓÃ
¡¡¡¡Ç°Ì¨½Å±¾
<script language=javascript>
¡¡¡¡var a = "<%=ss()%>";
¡¡¡¡alert(a);
</script>
¡¡¡¡·½·¨Èý£º1¡¢
¡¢<script language="javascript">
¡¡¡¡<!--
¡¡¡¡function __doPostBack(eventTarget, eventArgument)
¡¡¡¡{
¡¡¡¡var theForm = document.Form1; //Ö¸runat=serverµÄform
¡¡¡¡theForm.__EVENTTARGE ......
netÖÐC#´úÂëÓëjavaScriptº¯ÊýµÄÏ໥µ÷ÓÃÎÊÌâ¡£
¡¡¡¡ÎÊ£º
¡¡¡¡1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
¡¡¡¡2.ÈçºÎÔÚJavaScript·ÃÎÊC#±äÁ¿?
¡¡¡¡3.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptµÄÒÑÓбäÁ¿?
¡¡¡¡4.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptº¯Êý?
¡¡¡¡ÎÊÌâ1´ð°¸ÈçÏ£º
¡¡¡¡javaScriptº¯ÊýÖÐÖ´ÐÐC#´úÂëÖеĺ¯Êý£º
¡¡¡¡·½·¨Ò»£º1¡¢Ê×ÏȽ¨Á¢Ò»¸ö°´Å¥£¬ÔÚºǫ́½«µ÷Óûò´¦ÀíµÄÄÚÈÝдÈëbutton_clickÖÐ;
¡¡¡¡2¡¢ÔÚǰ̨дһ¸öjsº¯Êý£¬ÄÚÈÝΪdocument.getElementById("btn1").click();
¡¡¡¡3¡¢ÔÚǰ̨»òºǫ́µ÷ÓÃjsº¯Êý£¬¼¤·¢clickʼþ£¬µÈÓÚ·ÃÎʺǫ́c#º¯Êý;
¡¡¡¡·½·¨¶þ£º1¡¢º¯ÊýÉùÃ÷Ϊpublic
¡¡¡¡ºǫ́´úÂë(°Ñpublic¸Ä³ÉprotectedÒ²¿ÉÒÔ)
public string ss()
¡¡¡¡{
¡¡¡¡return("a");
¡¡¡¡}
¡¡¡¡2¡¢ÔÚhtmlÀïÓÿÉÒÔµ÷ÓÃ
¡¡¡¡Ç°Ì¨½Å±¾
<script language=javascript>
¡¡¡¡var a = "<%=ss()%>";
¡¡¡¡alert(a);
</script>
¡¡¡¡·½·¨Èý£º1¡¢
¡¢<script language="javascript">
¡¡¡¡<!--
¡¡¡¡function __doPostBack(eventTarget, eventArgument)
¡¡¡¡{
¡¡¡¡var theForm = document.Form1; //Ö¸runat=serverµÄform
¡¡¡¡theForm.__EVENTTARGE ......
netÖÐC#´úÂëÓëjavaScriptº¯ÊýµÄÏ໥µ÷ÓÃÎÊÌâ¡£
¡¡¡¡ÎÊ£º
¡¡¡¡1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
¡¡¡¡2.ÈçºÎÔÚJavaScript·ÃÎÊC#±äÁ¿?
¡¡¡¡3.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptµÄÒÑÓбäÁ¿?
¡¡¡¡4.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptº¯Êý?
¡¡¡¡ÎÊÌâ1´ð°¸ÈçÏ£º
¡¡¡¡javaScriptº¯ÊýÖÐÖ´ÐÐC#´úÂëÖеĺ¯Êý£º
¡¡¡¡·½·¨Ò»£º1¡¢Ê×ÏȽ¨Á¢Ò»¸ö°´Å¥£¬ÔÚºǫ́½«µ÷Óûò´¦ÀíµÄÄÚÈÝдÈëbutton_clickÖÐ;
¡¡¡¡2¡¢ÔÚǰ̨дһ¸öjsº¯Êý£¬ÄÚÈÝΪdocument.getElementById("btn1").click();
¡¡¡¡3¡¢ÔÚǰ̨»òºǫ́µ÷ÓÃjsº¯Êý£¬¼¤·¢clickʼþ£¬µÈÓÚ·ÃÎʺǫ́c#º¯Êý;
¡¡¡¡·½·¨¶þ£º1¡¢º¯ÊýÉùÃ÷Ϊpublic
¡¡¡¡ºǫ́´úÂë(°Ñpublic¸Ä³ÉprotectedÒ²¿ÉÒÔ)
public string ss()
¡¡¡¡{
¡¡¡¡return("a");
¡¡¡¡}
¡¡¡¡2¡¢ÔÚhtmlÀïÓÿÉÒÔµ÷ÓÃ
¡¡¡¡Ç°Ì¨½Å±¾
<script language=javascript>
¡¡¡¡var a = "<%=ss()%>";
¡¡¡¡alert(a);
</script>
¡¡¡¡·½·¨Èý£º1¡¢
¡¢<script language="javascript">
¡¡¡¡<!--
¡¡¡¡function __doPostBack(eventTarget, eventArgument)
¡¡¡¡{
¡¡¡¡var theForm = document.Form1; //Ö¸runat=serverµÄform
¡¡¡¡theForm.__EVENTTARGE ......
À©Õ¹±ê¼ÇÓïÑÔXML£¨eXtensible Markup Language£©£¬ÊÇÓÉW3C×éÖ¯Öƶ¨µÄ¡£×öΪÓÃÓÚÌæ´úHTMLÓïÑÔµÄÒ»ÖÖÐÂÐ͵ıê¼ÇÓïÑÔ£¬XMLÄÚ²¿ÓÐןܶà»ù±¾±ê×¼£¬XML¾ÍÊÇͨ¹ýÓëÕâЩÏà¹Ø±ê×¼µØ½áºÏ£¬Ó¦ÓÃÓÚ¿Æѧ¼ÆËã¡¢µç×Ó³ö°æ¡¢¶àýÌåÖÆ×÷ºÍµç×ÓÉÌÎñµÄ¡£C££×÷ΪһÖÖÐÂÐ͵ijÌÐòÓïÑÔ£¬ÊÇ.Net¿ò¼ÜµÄÒ»¸öÖØÒª×é³É²¿·Ö£¬ËûºÍXMLµÄ¹ØϵÆÄÉî¡£±¾ÎľʹÓÒ»¸ö·½ÃæÀ´Ì½ÌÖÒ»ÏÂÕâ¶þÕߵĹØϵ¡£¼´£º¿´ÓÃC££ÈçºÎÀ´´´½¨ºÍ¶ÁÈ¡XMLÎĵµ¡£
¡¡¡¡Ò»£®±¾ÎijÌÐòÉè¼ÆºÍÔËÐеÄÈí¼þ»·¾³
¡¡¡¡£¨Ò»£©Î¢Èí¹«Ë¾ÊÓ´°2000·þÎñÆ÷
¡¡¡¡£¨¶þ£©.Net FrameWork SDK Beta 2
¡¡¡¡¶þ£®C££´´½¨XMLÎĵµ
¡¡¡¡ÔÚ±¾ÎÄÖÐÎÒÃÇÀ´½éÉÜÒ»ÏÂÓÃC££´´½¨XMLÎĵµµÄ¶þÖÖ·½·¨£¬Õâ¶þÖÖ·½·¨¸÷ÓÐǧÇµÚÒ»ÖÖ´´½¨ÆðÀ´¸üÁé»î£¬µÚ¶þÖÖ´´½¨ÆðÀ´¸ü·½±ã¡£
¡¡¡¡£¨Ò»£©C££´´½¨XMLÎĵµµÄµÚÒ»ÖÖ·½·¨
¡¡¡¡ÕâÒ»ÖÖ·½·¨ÊÇ°´ÕÕ°´ÕÕXMLµÄ½á¹¹Ò»²½Ò»²½µÄ¹¹½¨XMLÎĵµ¡£C££¹¹½¨XMLÎĵµÍ¨¹ý.Net FrameWork SDKÖеÄÃüÃû¿Õ¼ä“System.Xml”Öзâ×°µÄ¸÷ÖÖÀàÀ´ÊµÏֵġ£ÏÂÃæ¾Í°´ÕÕÒ»¸öXMLµäÐÍÎĵµ½á¹¹À´½éÉÜһϡ£
¡¡¡¡£¨1£©Ê×ÏÈÒª´´½¨Ò»¸ö¿ÕµÄXMLÎĵµ
¡¡¡¡ÔÚÃüÃû¿Õ¼ä“System.Xml”ÖÐÓÐÒ»¸öÀà“XmlDocument”£¬C££Í¨¹ýÕâ¸öÀàÀ´ÃèÊöXMLÎĵµ¡£ÏÂÃæÊ ......
À©Õ¹±ê¼ÇÓïÑÔXML£¨eXtensible Markup Language£©£¬ÊÇÓÉW3C×éÖ¯Öƶ¨µÄ¡£×öΪÓÃÓÚÌæ´úHTMLÓïÑÔµÄÒ»ÖÖÐÂÐ͵ıê¼ÇÓïÑÔ£¬XMLÄÚ²¿ÓÐןܶà»ù±¾±ê×¼£¬XML¾ÍÊÇͨ¹ýÓëÕâЩÏà¹Ø±ê×¼µØ½áºÏ£¬Ó¦ÓÃÓÚ¿Æѧ¼ÆËã¡¢µç×Ó³ö°æ¡¢¶àýÌåÖÆ×÷ºÍµç×ÓÉÌÎñµÄ¡£C££×÷ΪһÖÖÐÂÐ͵ijÌÐòÓïÑÔ£¬ÊÇ.Net¿ò¼ÜµÄÒ»¸öÖØÒª×é³É²¿·Ö£¬ËûºÍXMLµÄ¹ØϵÆÄÉî¡£±¾ÎľʹÓÒ»¸ö·½ÃæÀ´Ì½ÌÖÒ»ÏÂÕâ¶þÕߵĹØϵ¡£¼´£º¿´ÓÃC££ÈçºÎÀ´´´½¨ºÍ¶ÁÈ¡XMLÎĵµ¡£
¡¡¡¡Ò»£®±¾ÎijÌÐòÉè¼ÆºÍÔËÐеÄÈí¼þ»·¾³
¡¡¡¡£¨Ò»£©Î¢Èí¹«Ë¾ÊÓ´°2000·þÎñÆ÷
¡¡¡¡£¨¶þ£©.Net FrameWork SDK Beta 2
¡¡¡¡¶þ£®C££´´½¨XMLÎĵµ
¡¡¡¡ÔÚ±¾ÎÄÖÐÎÒÃÇÀ´½éÉÜÒ»ÏÂÓÃC££´´½¨XMLÎĵµµÄ¶þÖÖ·½·¨£¬Õâ¶þÖÖ·½·¨¸÷ÓÐǧÇµÚÒ»ÖÖ´´½¨ÆðÀ´¸üÁé»î£¬µÚ¶þÖÖ´´½¨ÆðÀ´¸ü·½±ã¡£
¡¡¡¡£¨Ò»£©C££´´½¨XMLÎĵµµÄµÚÒ»ÖÖ·½·¨
¡¡¡¡ÕâÒ»ÖÖ·½·¨ÊÇ°´ÕÕ°´ÕÕXMLµÄ½á¹¹Ò»²½Ò»²½µÄ¹¹½¨XMLÎĵµ¡£C££¹¹½¨XMLÎĵµÍ¨¹ý.Net FrameWork SDKÖеÄÃüÃû¿Õ¼ä“System.Xml”Öзâ×°µÄ¸÷ÖÖÀàÀ´ÊµÏֵġ£ÏÂÃæ¾Í°´ÕÕÒ»¸öXMLµäÐÍÎĵµ½á¹¹À´½éÉÜһϡ£
¡¡¡¡£¨1£©Ê×ÏÈÒª´´½¨Ò»¸ö¿ÕµÄXMLÎĵµ
¡¡¡¡ÔÚÃüÃû¿Õ¼ä“System.Xml”ÖÐÓÐÒ»¸öÀà“XmlDocument”£¬C££Í¨¹ýÕâ¸öÀàÀ´ÃèÊöXMLÎĵµ¡£ÏÂÃæÊ ......