C#之旅

           走自己的路,让别人打的去吧。
随笔 - 66, 文章 - 0, 评论 - 117, 引用 - 2
数据加载中……

2006年5月11日

今天碰到一个强数据类型集的问题,不知道大家怎么解决呢????

我有一个表,有字段1,字段2,字段3,字段4,我制作了一个xsd文件,生成了相应的DataAdapter和DataSet.同时要在DataGrid里边进行显示,但是我不需要在DataGrid里边显示字段4的内容,因此我在xsd设计器中,添加了一个查询,SQL语句为select 字段1,字段2,字段3 From  表1,只是没有选择表的所有字段,完成以后,提示与主架构不同,是否保存????即使保存了以后,发现无法使用这种方法来返回我需要的数据集,同时这个数据集也确实与xsd中定义的表的DataTable结构不同,如果我要返回这样的数据集,是否就不能用强数据类型集了吗???不知道大家有没有碰到过这个问题,这个问题应当如何解决???

posted @ 2006-05-11 22:09 c#之旅 阅读(457) | 评论 (1)编辑

今天修改了数据库结构,XSD文件都要重新生成,郁闷!

今天修改了一下数据库其中一个表的结构,结果导致整个XSD文件都要修改,搞的真是焦头烂额,所以,有时候真的不好说是ELB好用还是使用强类型集更好用,如果真的使用强类型集的时候,建议你一定要先规划好数据库,省得麻烦。
搞的现在不敢轻易写程序了,怕的是数据库的改动。

posted @ 2006-05-11 20:44 c#之旅 阅读(247) | 评论 (0)编辑

My ResDB Not Finished

This is My ResDB,But it is not Finished,Because i need it anywhere,so,upload here.

USE [master]
GO
IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'ResDB')
BEGIN
CREATE DATABASE [ResDB] ON  PRIMARY
( NAME = N'ResDB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ResDB.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON
( NAME = N'ResDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ResDB_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
END

GO
EXEC dbo.sp_dbcmptlevel @dbname=N'ResDB', @new_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [ResDB].[dbo].[sp_fulltext_database] @action = 'disable'
end
GO
ALTER DATABASE [ResDB] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [ResDB] SET ANSI_NULLS OFF
GO
ALTER DATABASE [ResDB] SET ANSI_PADDING OFF
GO
ALTER DATABASE [ResDB] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [ResDB] SET ARITHABORT OFF
GO
ALTER DATABASE [ResDB] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [ResDB] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [ResDB] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [ResDB] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [ResDB] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [ResDB] SET CURSOR_DEFAULT  GLOBAL
GO
ALTER DATABASE [ResDB] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [ResDB] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [ResDB] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [ResDB] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [ResDB] SET  ENABLE_BROKER
GO
ALTER DATABASE [ResDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [ResDB] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [ResDB] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [ResDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [ResDB] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [ResDB] SET  READ_WRITE
GO
ALTER DATABASE [ResDB] SET RECOVERY FULL
GO
ALTER DATABASE [ResDB] SET  MULTI_USER
GO
ALTER DATABASE [ResDB] SET PAGE_VERIFY CHECKSUM 
GO
ALTER DATABASE [ResDB] SET DB_CHAINING OFF
USE [ResDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Organize]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Organize](
 [Organize_ID] [int] NOT NULL,
 [ParentID] [int] NOT NULL,
 [ConText] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Organize] PRIMARY KEY CLUSTERED
(
 [Organize_ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Computer]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Computer](
 [Computer_ID] [int] NOT NULL,
 [Organzie_ID] [int] NOT NULL,
 [UserName] [nvarchar](50) NOT NULL,
 [Room] [nvarchar](50) NULL,
 [Telphone] [nvarchar](50) NULL,
 [SerialNo] [nvarchar](50) NULL,
 [Logo] [nvarchar](50) NOT NULL,
 [BuyDate] [datetime] NOT NULL,
 [Provider] [nvarchar](50) NULL,
 [UseStatus] [smallint] NOT NULL,
 [OS] [nvarchar](50) NULL,
 [VgaLogo] [nvarchar](50) NOT NULL,
 [VgaType] [smallint] NOT NULL,
 [IpAddress] [nvarchar](50) NULL,
 [Notes] [nvarchar](50) NULL,
 [ServiceTime] [smallint] NOT NULL
) ON [PRIMARY]
END

posted @ 2006-05-11 20:39 c#之旅 阅读(61) | 评论 (0)编辑

学习SmartClient时,安装比较麻烦,先提供IssueVision和TaskVision源代码

学习SmartClient时,很多人都借鉴IssueVision和TaskVision两个程序,但他们的安装要求比较高,尤其是对数据库有要求,如果数据库不满足要求的话,整个系统都无法安装。如果你不是为了运行它,而仅仅是查看其中的代码是如何编写的话,就没有必要安装数据库了,现提供IssueVision和TaskVision源代码,可以直接下载查看。
    特别说明的一点是,IssueVision因为使用到了部分自定义控件,可能使用vs2005打开的时候,窗体不能正常显示,如果要查看其中的代码,可以使用记事本打开。TaskVision好象不存在这个问题。

下载地址如下:
http://www.cnblogs.com/Files/CShapWinForms/IssueVision_FullSource_CS.rar

http://www.cnblogs.com/Files/CShapWinForms/TaskVision_FullSource_CS.zip

posted @ 2006-05-11 14:05 c#之旅 阅读(2309) | 评论 (3)编辑

非界面线程中引发异常处理(http://zitiger.cnblogs.com/)

用到了多线程的地方,非界面线程的异常被吃掉是很正常的事,所以在非界面线程中引发异常应该转到界面线程来处理

public delegate void WorkThreadExceptionHandlerDelegate(Exception e);
protected void WorkThreadExceptionHandler(Exception e)
{
if (InvokeRequired)
{
BeginInvoke(new WorkThreadExceptionHandlerDelegate(WorkThreadExceptionHandler),new object[]{e});
return;
}
this.ShowStatus("Error!");
LogError(e);

}

catch的时候
catch (Exception ex)
{

WorkThreadExceptionHandler(ex);
}

这是我的做法  回复

posted @ 2006-05-11 13:04 c#之旅 阅读(136) | 评论 (0)编辑