Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ถามการทำตัว install โปรแกรม C# หน่อยครับ จะทำตัว install โดยมี ดาต้าเบส



 

ถามการทำตัว install โปรแกรม C# หน่อยครับ จะทำตัว install โดยมี ดาต้าเบส

 



Topic : 093594



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์




ผม สงใสครับ ขอถามหน่อยครับ


ผม เขียนโปรแกรม โดยติดต่อฐานข้อมูล SQL Server 2008 ครับ

และสร้างตัวที่ setup แล้ว มันจะติดต่อกับฐานข้อมูลยังไง (กับครื่องใหม่ที่ยังไม่มีฐานข้อมูลที่เราได้สร้าง)

ช่วยสอนวิธีทำด้วยครับ



Tag : .NET, Ms SQL Server 2008, C#, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-04-09 13:28:10 By : kyokohoho View : 2131 Reply : 9
 

 

No. 1

Guest


สงใส <--- ???

sql server ก็บอกอยู่ว่า server

ก็สร้าง connection ไปที่ server สิ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 14:50:02 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 2



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


windows app ตอนเขียน sql server 2008 มันมีดาต้าเบสที่เราสร้างมันจึงติต่อกับฐานข้อมูลที่เราเขียนได้

ที่นี้ ผมสร้าง ตัว install เพื่อเอาไปลงกับครื่องอืนๆ ซึ่งแน่นอนว่ามันไม่มี data bast ที่เราเคยสร้างไว้

แล้ว ย่างนี้ โปรแกรมที่เรา install ไปนั้นมันจะเก็บข้อมูลลงฐานข้อมูลอย่างไร ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 15:15:49 By : kyokohoho
 

 

No. 3



โพสกระทู้ ( 177 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


เอาของผมนะ

ผมก็มีฐานข้อมูลในเครื่องใดเครื่องหนึ่งในเครือข่ายครับ
ส่วนโปรแกรมก็สามารถตั้งค่าให้เชื่อมต่อไปที่เบสไหนก็ได้

หมายความว่าพอลงเสร็จในครั้งแรก โปรแกรมก็หาเบสไม่เจอหรอก
ตอนใช้งานครั้งแรก ก็ตั้งค่าเบสก่อน หลังจากนั้นก็จะใช้ได้ตลอดไป
ยกเว้นเครื่องแม่จะโดนคาร์บอม



ลืมบอกอีกนิดครับ
ของผมตอนไปติดตั้งให้ลูกค้า จะมี backup base เปล่าๆไป restore ให้


ประวัติการแก้ไข
2013-04-09 15:26:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 15:21:31 By : คนงานตัดอ้อย
 


 

No. 4



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


แบบ เครื่อง ใคร เครื่อง มัน ละ ครับ


เช่นตัวอย่าง A มาซื้อโปรแกรม A อยู่เชียงใหม่ B อยู่ ขอนแก่น อย่างงี้ครับ คนละเครือข่าย (ใช้เครื่องใครเรื่องมัน)



(เป็นโปรแกรมพวก จัดการข้อมูลผู้ป่วย โรงบาล A โรงบาล B ครับ ใช้ใครใช้มัน ไม่มีความเกียวข้องกันทางละเครือข่าย ฐานข้อมูลเก็บที่เครื่องใครเรื่องมัน win app )


โปรแกรมจะติดต่อฐานข้อมูล อย่าง ไร หรื่อ เราต้องไปสร้างฐานข้อมูลรอ ก่อน setup ทุกครื่องทุกครั้ง หรือครับ


ประวัติการแก้ไข
2013-04-09 15:32:31
2013-04-09 15:33:17
2013-04-09 15:34:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 15:30:36 By : kyokohoho
 


 

No. 5

Guest


ฮ่วย จำเป็นไหมว่าต้องเป็น sql server 2008

ถ้าไม่จำเป็นก็ใช้ access หรือ เขียนเป็น xml ก็ยังได้

แค่ถ้าต้องใช้ก็ต้องทำตัว install ให้ install sql express ไปด้วย

ส่วนการสร้าง database ใช้โปรแกรมสร้างก็ได้ ง่ายๆ

สร้างได้ทั้ง database, table แม้กระทั้ง initial ข้อมูลลงไปเลยยังได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 15:46:29 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 6



โพสกระทู้ ( 177 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ตอบ No. 4

ใช่ครับ ผมใช้แบบนั้นจริงๆ A เครื่องเดียวก็ลงฐานข้อมูลในเครื่อง A เลย
แต่ถ้าสมมุติ B กับ C เป็นบริษัทเดียวกัน อยู่คนละที่ อาจจะคนละจังหวัดต้องการใช้ฐานข้อมูลเดียวกัน
ก็ติดต่อผู้ให้บริการ internet ขอติดตั้ง Fix IP ก็สามารถชี้มาที่เดียวกัน ส่วนความเร็วนั้นอาจจะลดลงไป

แต่ถ้าคิดว่าไม่อยากไปนั่งลง SQL Server ไม่อยากไปนั่ง Restore เบส ก็ตาม No. 5 ครับ

Code
database ใช้โปรแกรมสร้างก็ได้ ง่ายๆ สร้างได้ทั้ง database, table แม้กระทั้ง initial ข้อมูลลงไปเลยยังได้


สไตล์ใคร สไตล์มันชอบแบบไหนก็ทำแบบนั้น แค่คำนึงถึงผลที่ออกมาให้ดีก็พอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 16:07:01 By : คนงานตัดอ้อย
 


 

No. 7

Guest


ตอบความคิดเห็นที่ : 6 เขียนโดย : คนงานตัดอ้อย เมื่อวันที่ 2013-04-09 16:07:01
รายละเอียดของการตอบ ::
พอดีชอบแบบกด next next next แล้วจบเลยน่ะ

ไม่ต้องมานั้ง restore database ทุกเครื่อง

เลยให้ installer จำกัดสร้างทุกอย่างที่จำเป็นในการรันไปเลยทีเดียวเสร็จ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 16:49:44 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 8



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : คนงานตัดอ้อย เมื่อวันที่ 2013-04-09 16:07:01
รายละเอียดของการตอบ ::

database ใช้โปรแกรมสร้างก็ได้ ง่ายๆ
สร้างได้ทั้ง database, table แม้กระทั้ง initial ข้อมูลลงไปเลยยังได้




ช่วยแนะนำหน่อยได้ไม้ครับ ทำตัว setup ได้ แล้ว แต่ ให้มันสร้าง database พร้อมกับ ตัวsetup ไม่เป็นใครใจดีแนะนำหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 20:24:11 By : kyokohoho
 


 

No. 9

Guest


ใช้ linq ส่วน data ก็โหลดจาก xml ซึ่ง add เป็น resource ไว้ใน project

database ถ้าไม่มี linq มันฉลาดพอที่จะสร้างให้เอง หรือถ้าไม่มั่นใจก็มีคำสั่ง recreate ได้

ส่วน table ต้องตรวจสอบก่อนว่ามีหรือไม่ ถ้าไม่มีก็ใช้ sql command สั่ง create table พร้อมโหลด

ข้อมูลจาก xml เอาเอง

ในตัวอย่างเป็นของ asp.net แต่หลักการใช้ linq ไม่ว่าจะเป็น web หรือ win เหมือนกัน

Intranet2012.designer.cs
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.261
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;



public partial class Intranet2012DataContext : System.Data.Linq.DataContext
{
	
	private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
	
  #region Extensibility Method Definitions
  partial void OnCreated();
  #endregion

    public Intranet2012DataContext() :
        base(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Intranet2012"].ConnectionString, mappingSource)
    {
        OnCreated();
    }

	public Intranet2012DataContext(string connection) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}
	
	public Intranet2012DataContext(System.Data.IDbConnection connection) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}
	
	public Intranet2012DataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}
	
	public Intranet2012DataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}

    /*--------------------------------------------------------------*/

    public bool TableExist(string TableName)
    {
        string checkCommand = string.Format("If Exists (Select * From sys.tables Where name = '{0}') Select 'true' Else Select 'false'", TableName);

        bool result = Convert.ToBoolean(this.ExecuteQuery<string>(checkCommand).SingleOrDefault());

        return result;
    }

    public Table<TableRole> RoleTable
    {
        get { return GetTable<TableRole>(); }
    }
}
#pragma warning restore 1591


Intranet2012Datebase.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Xml.Linq;
using System.Web.Security;
using System.Data;
using System.Reflection;
using System.IO;

/// <summary>
/// Summary description for Intranet2012Datebase
/// </summary>
public class Intranet2012Datebase
{
	public Intranet2012Datebase()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public static void PreparingDataBase()
    {
        Intranet2012DataContext intranet2012 = new Intranet2012DataContext();

        if (!intranet2012.DatabaseExists())
        {
            intranet2012.CreateDatabase();
        }

        if (!intranet2012.TableExist("RoleTable"))
        {
            TableRole roleTable = new TableRole();
            roleTable.Create();
        }

        FillInitailData(intranet2012);
    }

    protected static void FillInitailData(Intranet2012DataContext intranet2012)
    {
        if ((from r in intranet2012.RoleTable select r).Count() == 0)
        {
            var Rt = from rt in XElement.Load(HttpContext.Current.Request.MapPath("~/InitialData/Role.xml")).Elements("Role")
                     select rt;

            // Execute the query
            foreach (var rTable in Rt)
            {
                TableRole role = new TableRole();
                if (rTable.Element("TypeID") != null) role.TypeID = Convert.ToInt16(rTable.Element("TypeID").Value);
                if (rTable.Element("RoleName") != null) role.RoleName = rTable.Element("RoleName").Value;

                intranet2012.RoleTable.InsertOnSubmit(role);
                intranet2012.SubmitChanges();

                if (!Roles.RoleExists(role.ID.ToString("00")))
                    Roles.CreateRole(role.ID.ToString("00"));
            }
        }
    }
}


TableRole.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Data.Linq.Mapping;
using System.Text;

/// <summary>
/// Summary description for UserType
/// </summary>
[Table(Name = "RoleTable")]
public class TableRole
{
    private int id;
    private int typeId;
    private string roleName;

	public TableRole()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    [Column(Storage = "id", DbType = "Int not null Identity", IsPrimaryKey = true, CanBeNull = false, AutoSync = AutoSync.Default, IsDbGenerated = true)]
    public int ID
    {
        get { return id; }
    }

    [Column(Storage = "typeId", DbType = "Int")]
    public int TypeID
    {
        get { return typeId; }
        set { typeId = value; }
    }

    [Column(Storage = "roleName", DbType = "NVarChar(64)")]
    public string RoleName
    {
        get { return roleName; }
        set { roleName = value; }
    }

    public void Create()
    {
        Intranet2012DataContext Intranet2012 = new Intranet2012DataContext();

        StringBuilder SbCreate = new StringBuilder();
        SbCreate.AppendLine("Create Table [RoleTable]");
        SbCreate.AppendLine("(");
        SbCreate.AppendLine("[ID] int Identity(1,1) Primary Key Clustered,");
        SbCreate.AppendLine("[TypeID] int,");
        SbCreate.AppendLine("[RoleName] nvarchar(64),");
        SbCreate.AppendLine(")");

        Intranet2012.ExecuteCommand(SbCreate.ToString());
    }
}


Role.xml
<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2012-05-09T18:22:07">
<Role>
<ID>1</ID>
<TypeID>1</TypeID>
<RoleName>ระบบจัดการผู้ใช้งาน</RoleName>
</Role>
<Role>
<ID>2</ID>
<TypeID>1</TypeID>
<RoleName>แสดงบันทึกการใช้งาน</RoleName>
</Role>
<Role>
<ID>3</ID>
<TypeID>2</TypeID>
<RoleName>ประชาสัมพันธ์</RoleName>
</Role>
<Role>
<ID>4</ID>
<TypeID>2</TypeID>
<RoleName>ข้อความวิ่ง</RoleName>
</Role>
<Role>
<ID>5</ID>
<TypeID>2</TypeID>
<RoleName>สไลด์ภาพส่วนหัว</RoleName>
</Role>
</dataroot>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-10 09:01:53 By : ห้ามตอบเกินวันละ 2 กระทู้
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามการทำตัว install โปรแกรม C# หน่อยครับ จะทำตัว install โดยมี ดาต้าเบส
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่