• 大小: 4.82MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-27
  • 语言: 数据库
  • 标签: 公交  刷卡  

资源简介

该系统是基于vs2008+Sql2005开发平台的一个纯软件系统,能实现简单的刷卡和充值功能

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.SqlClient;
using System.IO ;
using System.Net ;
using System.Net .Sockets ;
using System.Runtime.InteropServices;
using System.Text;

namespace server.connect
{
    class connectDB
    {
        public static string sConnectString = “Data Source=.;Initial Catalog=CardDB;Integrated Security=True “;

        //告诉编译器 这个结构体需要使用顺序布局,CharSet属性有连个CharSet.Ansi和CharSet.Unicode
        [StructLayout (LayoutKind.Sequential CharSet =CharSet .Ansi Pack =1)]
        public struct Message
        {
            public int flags;//用于辨别是哪种消息

            [MarshalAs(UnmanagedType.ByValTStr SizeConst = 256)]
            public string handInfor;

            [MarshalAs(UnmanagedType.ByValTStr SizeConst = 11)]
            public string cardID;//卡号

            [MarshalAs(UnmanagedType.ByValTStr SizeConst = 16)]
            public string password;//密码

            [MarshalAs(UnmanagedType.ByValTStr SizeConst = 21)]
            public string time;//代表各种时间,如消费时间,挂失时间等


            public float restMoney;//余额
            public float consumeMoney;//刷卡金额
        }

        //结构体转byte数组
        public static byte[] StructToBytes(object structObj)
        {
            //得到结构体的大小
            int size = Marshal.SizeOf(structObj);
            //Marshal提供了一个方法集,这些方法用于分配非托管内存、复制非托管内存块、将托管类型转换为非托管类型,此外还提供了在与非托管代码交互时使用的其他杂项方法。 


            //创建byte数组
            byte[] bytes = new byte[size];
            //分配结构体大小的内存空间
            IntPtr structPtr = Marshal.AllocHGlobal(size );
            //将结构体拷到分配好的内存空间
            Marshal.StructureToPtr(structObj structPtr false);//设置为 true 可在执行 Marshal.DestroyStructure 方法前对 ptr 参数调用此方法。 请注意,传递 false 可导致内存泄漏
            //从内存空间拷到byte数组
            Marshal.Copy(structPtr bytes0size );
            //释放内存空间
            Marshal .FreeHGlobal(structPtr);
            //返回byte数组
            return bytes;

        }

        //byte数组转结构体
        public static object BytesToStruct(byte[] bytes Type type)
        { 
             //得到结构体的大小
            int size = Marshal.SizeOf(type);
            //byte数组长度小于结构体的大小
            if (size > bytes.Length)
            {
                return null;
            }

            //分配结构体大小的内存空间
            IntPtr structPtr = Marshal.AllocHGlobal(size );
            //将byte数组拷到分配好的内存空间
            Marshal.Copy(bytes 0structPtr size );
            //将内存空间转换为目标结构体
            object obj = Marshal.PtrToStructure(structPtr type );
            //释放内存空间
            Marshal.FreeHGlobal(structPtr );
            //返回结构体
            return obj;
         }



       // public static bool TestConnection(out string sError)
        //{
           /// SqlConnection connection=new SqlConnection (sConnectString);
            //try
           // {
           ///     connection.Open();
           //     sError = string.Em

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    3145728  2011-09-14 19:28  项目源代码\CardDB\CardDB.mdf

     文件    1048576  2011-09-14 19:28  项目源代码\CardDB\CardDB_log.ldf

     文件      11264  2011-09-17 10:53  项目源代码\server\bin\Debug\server.exe

     文件      26112  2011-09-17 10:53  项目源代码\server\bin\Debug\server.pdb

     文件      14328  2011-09-23 15:45  项目源代码\server\bin\Debug\server.vshost.exe

     文件        490  2007-07-21 01:33  项目源代码\server\bin\Debug\server.vshost.exe.manifest

     文件    3145728  2011-09-01 23:04  项目源代码\server\CardDB\CardDB.mdf

     文件    1048576  2011-09-01 23:04  项目源代码\server\CardDB\CardDB_log.ldf

     文件       6341  2011-09-17 10:51  项目源代码\server\connectDB.cs

     文件       4996  2011-09-23 15:45  项目源代码\server\obj\Debug\server.csproj.FileListAbsolute.txt

     文件      11264  2011-09-17 10:53  项目源代码\server\obj\Debug\server.exe

     文件      26112  2011-09-17 10:53  项目源代码\server\obj\Debug\server.pdb

     文件       1344  2011-08-30 21:29  项目源代码\server\Properties\AssemblyInfo.cs

     文件      12275  2011-09-17 10:33  项目源代码\server\server.cs

     文件       2524  2011-08-30 22:12  项目源代码\server\server.csproj

     文件         77  2011-09-23 15:38  项目源代码\公交刷卡系统\app.config

     文件     357888  2011-09-23 15:38  项目源代码\公交刷卡系统\bin\Debug\公交刷卡系统.exe

     文件         77  2011-09-23 15:38  项目源代码\公交刷卡系统\bin\Debug\公交刷卡系统.exe.config

     文件      69120  2011-09-23 15:38  项目源代码\公交刷卡系统\bin\Debug\公交刷卡系统.pdb

     文件      14328  2011-09-23 15:45  项目源代码\公交刷卡系统\bin\Debug\公交刷卡系统.vshost.exe

     文件         77  2011-09-23 15:38  项目源代码\公交刷卡系统\bin\Debug\公交刷卡系统.vshost.exe.config

     文件        490  2007-07-21 01:33  项目源代码\公交刷卡系统\bin\Debug\公交刷卡系统.vshost.exe.manifest

     文件       2848  2011-09-16 22:18  项目源代码\公交刷卡系统\Class1.cs

     文件       5195  2011-09-22 21:31  项目源代码\公交刷卡系统\consumefrm_.cs

     文件       9467  2011-09-22 21:31  项目源代码\公交刷卡系统\consumefrm_.Designer.cs

     文件     241649  2011-09-22 21:31  项目源代码\公交刷卡系统\consumefrm_.resx

     文件       1876  2011-09-22 21:14  项目源代码\公交刷卡系统\frmMain.cs

     文件       6624  2011-09-22 21:14  项目源代码\公交刷卡系统\frmMain.Designer.cs

     文件      16237  2011-09-22 21:14  项目源代码\公交刷卡系统\frmMain.resx

     文件       6344  2011-09-22 21:31  项目源代码\公交刷卡系统\frm_AddMoney.cs

............此处省略47个文件信息

评论

共有 条评论