<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7879405464164281528</id><updated>2011-11-28T06:45:04.595+07:00</updated><category term='Mạng máy tính'/><category term='màn hình laptop'/><category term='kinh nghiệm'/><category term='Giải pháp CNTT'/><category term='.Net'/><category term='internet'/><category term='lỗi phần cứng'/><category term='thủ thuật'/><category term='mua màn hình laptop'/><category term='ổ cứng'/><category term='MS SQL'/><category term='E'/><category term='Thương Mại Điện Tử'/><category term='phần cứng'/><category term='laptop'/><title type='text'>Tất cả dành cho bạn</title><subtitle type='html'>Chúng tôi hi vọng qua blog này có thể cung cấp và giới thiệu tới các bạn những phần mềm, công cụ hữu ích.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-827115664541803119</id><published>2008-04-28T00:15:00.001+07:00</published><updated>2008-04-28T00:17:32.558+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thủ thuật'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><title type='text'>Các công cụ lưu trữ địa chỉ web và mật khẩu trực tuyến</title><content type='html'>&lt;div align="justify"&gt;TTO - Trong tất cả các trình duyệt luôn có chức năng sao lưu địa chỉ web mà người dùng Internet đều sử dụng qua là Favorites trong IE hay Bookmarks trong FireFox.&lt;br /&gt;Tuy vậy, không phải lúc nào bạn cũng có thể sử dụng danh sách địa chỉ này khi đi đến máy tính khác. Do đó, các dịch vụ lưu trữ trực tuyến luôn là giải pháp linh hoạt nhất.&lt;br /&gt;&gt;&gt; &lt;a onclick="return onLinkClick(this)" href="http://www.tuoitre.com.vn/tianyon/Index.aspx?ArticleID=214009&amp;amp;ChannelID=67" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;Những công cụ trực tuyến miễn phí tốt nhất - Phần I&lt;/a&gt;&lt;br /&gt;Người dùng có thể xuất (export) các danh sách địa chỉ web trong Internet Explorer hoặc FireFox, rồi tải nó lên email để cất giữ. Khi muốn sử dụng ở máy khác thì tải nó về, nhập danh sách vào trình duyệt tương ứng rồi duyệt web. Quá phức tạp! Thật ra chỉ cần nhớ tài khoản của mình tại một trong những dịch vụ lưu trữ địa chỉ web bên dưới đây là bạn đã có thể quản lý tất cả danh sách web yêu thích và truy xuất bất cứ lúc nào.&lt;br /&gt;&lt;a onclick="return onLinkClick(this)" href="http://del.icio.us/" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;Del.icio.us&lt;/a&gt;: Hiện diện ở hầu như tất cả các website tin tức, blog. Mức độ phổ biến của Del.icio.us (DIU) đã đưa dịch vụ này lên hàng top so với các đối thủ khác. Trang bị các tính năng, công nghệ mới nhất nên số lượng người dùng DIU đã lên tới con số hàng triệu. Bạn có thể kiếm những chỉ dẫn nấu ăn, các trang liên quan đến một chủ đề yêu thích, lưu trữ danh sách theo dạng cá nhân hoặc xuất danh sách bookmark (*).&lt;br /&gt;Mặc dù tên của DIU khó nhớ nhưng giao diện rõ ràng, theo phong cách của website rao vặt phổ biến nhất ở Mỹ là Craigslist. Một bên là những bookmark đáng chú ý và bên phải là các thẻ (tag). DIU giới thiệu các thẻ phổ biến để người dùng dễ chọn lựa và theo đó đặt thẻ cho chính xác hơn.&lt;br /&gt;&lt;a onclick="return onLinkClick(this)" href="http://ma.gnolia.com/" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;Magnolia&lt;/a&gt;: ra đời sau Del.icio.us, tiện dụng hơn với liên kết thanh công cụ đơn. Magnolia thu thập thông tin mô tả của một trang web từ các mã HTML bên trong website đó. Người dùng chỉ cần đặt thẻ tag. Một tính năng hữu dụng khác là hệ thống đánh giá 5 sao và nút "Keep Private" giúp giữ những phần sao lưu không đưa lên công cộng.&lt;br /&gt;Giống Del.icio.us, Magnolia dễ dàng nhập và xuất danh sách lưu trữ.&lt;br /&gt;&lt;a onclick="return onLinkClick(this)" href="http://stumbleupon.com/" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;StumbleUpon&lt;/a&gt;: SU là một mạng xã hội hơn là một dịch vụ lưu trữ địa chỉ web. Tại đây, người dùng sẽ được giới thiệu nhiều website theo các lĩnh vực mà người dùng không cần tìm kiếm. Để sử dụng SU, bạn cần cài đặt một thanh công cụ. Trên thanh công cụ có một nút nhấn mà khi chọn, bạn sẽ được chuyển đến những website được đánh giá cao ngẫu nhiên trong lĩnh vực mà bạn chọn.&lt;br /&gt;Bạn có thể bầu chọn, đánh giá hay đưa ra lời bình. Đánh dấu lại địa chỉ trang web và đưa vào danh sách lưu trữ. Hiện tại, StumbleUpon đã thuộc về "gã khổng lồ" eBay.&lt;br /&gt;&lt;a onclick="return onLinkClick(this)" href="http://furl.net/" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;Furl&lt;/a&gt;: lưu trữ một bảng sao chép tất cả các trang web mà người dùng sao lưu. Furl cũng là dịch vụ duy nhất so với 3 dịch vụ trên có những chỉ mục đầy đủ nguyên văn của những trang để người dùng tìm kiếm.&lt;br /&gt;So về mức độ phổ biến, thông dụng và khả năng phục vụ tốt nhất cho người dùng sử dụng dịch vụ lưu trữ địa chỉ web trực tuyến thì Del.icio.us dẫn đầu danh sách.&lt;br /&gt;Sao lưu mật khẩu trực tuyến&lt;br /&gt;Tương tự ở trên, các trình duyệt cũng có chức năng AutoComplete hoặc Password Manager dùng để sao lưu lại mật khẩu của các tài khoản website, diễn đàn, email... cho người dùng để khỏi mất công ghi nhớ tất cả. Người dùng chỉ việc nhớ 1 mật khẩu duy nhất để truy xuất đến các tài khoản được lưu.&lt;br /&gt;Công dụng của các dịch vụ lưu mật khẩu trực tuyến sẽ giúp ích nhiều cho người dùng khi có nhiều tài khoản truy cập vào nhiều website, diễn đàn. Chỉ cần đăng nhập vào tài khoản dịch vụ thì chúng sẽ giúp điền thông tin vào các website.&lt;br /&gt;&lt;a onclick="return onLinkClick(this)" href="http://just1key.com/" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;&lt;br /&gt;Just1key nổi bật hơn các website khác nhờ chế độ bảo mật cao.Just1key&lt;/a&gt;: Đây là dịch vụ lưu trữ trực tuyến duy nhất có chế độ bảo mật thời gian thực. Để ngăn chặn hacker đánh cắp mật khẩu người dùng, Just1Key sử dụng một Java Applet trong một cửa sổ trình duyệt để khi người dùng nhập mật khẩu trung tâm, applet sẽ mã hóa mật khẩu trước khi gởi đến máy chủ. Just1key gởi trả danh sách mật khẩu về cho người dùng trong một bảng được mã hóa, applet sẽ tiếp tục thực hiện giải mã để người dùng có thể đọc nó.&lt;br /&gt;Bạn có thể cắt và dán mật khẩu vào website. Mật khẩu được giữ trong một danh sách đơn, khó điều khiển. Just1key không có chức năng tìm kiếm, nhập hay xuất danh sách nhưng người dùng có thể truy xuất đến mật khẩu thông qua thiết bị di động thông qua một trình duyệt hỗ trợ đăng nhập bảo mật SSL. Just1key là dịch vụ có phí với 2.49 USD/tháng.&lt;br /&gt;&lt;a onclick="return onLinkClick(this)" href="http://passwordsafe.com/" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;PasswordSafe&lt;/a&gt;: Giao diện PasswordSafe dựa trên mã Javascript, thể hiện rõ ràng và có chức năng tìm kiếm lẫn chức năng tạo mật khẩu ngẫu nhiên. PasswordSafe không cung cấp nhiều thông tin về loại mã hóa trên máy chủ, việc truyền tải mật khẩu giữa máy chủ và máy trạm dựa trên SSL.&lt;br /&gt;PasswordSafe thích hợp để lưu trữ mật khẩu cho các website thông thường, ít nhạy cảm.&lt;br /&gt;&lt;a onclick="return onLinkClick(this)" href="http://agatra.com/" location="yes" statusbar="yes" menubar="yes" scrollbars="yes" titlebar="yes" toolbar="yes" resizable="yes" width="800" height="600"&gt;Agatra&lt;/a&gt;: Sử dụng thuật toán Blowfish để mã hóa nhưng khi người dùng đăng nhập vào thì Agatra lại sử dụng trang chủ không bảo mật. Agatra gởi mật khẩu từ máy chủ đến máy tính của bạn qua kết nối SSL. Đối với các website phổ biến, Agatra sẽ tự động đăng nhập cho người dùng. Đây cũng là yếu điểm dễ khai thác mà các hacker có thể tận dụng.&lt;br /&gt;Nhân tố quan trọng nhất khi chọn lựa dịch vụ sao lưu mật khẩu trực tuyến là bảo mật. Xét về yếu tố này thì Just1key nên được dùng hơn là PasswordSafe lẫn Agatra.&lt;br /&gt;(*) Bookmark: địa chỉ web được lưu trữ lại để truy cập về sau.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-827115664541803119?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/827115664541803119/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=827115664541803119' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/827115664541803119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/827115664541803119'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/04/cc-cng-c-lu-tr-ch-web-v-mt-khu-trc-tuyn.html' title='Các công cụ lưu trữ địa chỉ web và mật khẩu trực tuyến'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-7125149294470883939</id><published>2008-04-28T00:06:00.004+07:00</published><updated>2008-04-28T00:18:20.771+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thủ thuật'/><category scheme='http://www.blogger.com/atom/ns#' term='ổ cứng'/><category scheme='http://www.blogger.com/atom/ns#' term='lỗi phần cứng'/><category scheme='http://www.blogger.com/atom/ns#' term='phần cứng'/><title type='text'>Xử lý ổ cứng bị lỗi</title><content type='html'>&lt;div align="justify"&gt;Làm thế nào để có những bước xử lý cần thiết giúp ổ cứng hoạt động tốt nhất? Dưới đây là một số thủ thuật cần thiết để nhận biết và xử lý khi ổ cứng bị lỗi, nhất là với ổ cứng second-hand mua nhầm.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tuoitre.com.vn/Tianyon/ImageView.aspx?ThumbnailID=254011"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand" alt="" src="http://www.tuoitre.com.vn/Tianyon/ImageView.aspx?ThumbnailID=254011" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Dấu hiệu của một ổ cứng bắt đầu “đỏng đảnh”&lt;br /&gt;&lt;br /&gt;Là một thành phần hết sức quan trọng của máy nên khi ổ cứng bị lỗi thì gần như ngay lập tức bạn sẽ “hứng chịu” những vấn đề như tốc độ mở, lưu, xóa các tệp tin rất chậm hay máy tính của bạn thường xuyên bị treo (hay còn gọi là đứng máy).&lt;br /&gt;&lt;br /&gt;Thông thường khi xử lý những tác vụ nặng nề cũng có thể khiến máy bị treo trong khoảng một thời gian nhưng khi nguyên nhân là do đĩa cứng thì chuột và bàn phím đều không thể sử dụng được và chỉ còn một cách để thoát khỏi tình trạng đó là khởi động lại máy. Sau đó sẽ là sự xuất hiện những “vị khách không mời mà đến” là những tệp tin rất lạ mà chính bạn cũng không biết từ đâu ra.&lt;br /&gt;&lt;br /&gt;Quá trình khởi động máy (boot) cũng sẽ gặp những trục trặc như bị đứng hoặc không nhận ổ cứng. Trường hợp nặng hơn là khi bị lỗi vật lý, đĩa cứng sẽ phát ra những âm thanh to hơn bình thường và đôi lúc có những âm thanh rất lạ như tiếng “cạch” to.&lt;br /&gt;&lt;br /&gt;Giải quyết vấn đề “cứng”&lt;br /&gt;&lt;br /&gt;Vấn đề “cứng” được nêu ra ở đây là lỗi vật lý liên quan đến dàn cơ, bo mạch xử lý hoặc các kết nối. Bạn hãy mở thùng máy ra để kiểm tra ổ cứng của mình. Đầu tiên, hãy gỡ ổ cứng ra, vệ sinh sạch sẽ bằng cọ và khăn khô. Sau đó là vệ sinh cáp nối, các tiếp điểm trên ổ cứng và trên bo mạch chủ. Kiểm tra thiết lập Master/Slave cho ổ cứng xem có chính xác không rồi cắm ổ cứng vào như cũ.&lt;br /&gt;&lt;br /&gt;Mở máy lên và truy cập vào trình quản lý hệ thống BIOS và chọn chế độ tự động nhận diện đĩa cứng của bạn thì tỉ lệ hư “cứng” của đĩa đã giảm đi được nhiều phần. Còn nếu không nhận ra được, hãy thử kiểm tra lại các tiếp điểm, cắm cáp sang một khe khác để kiểm tra hoặc thay luôn dây cáp khác. Khi đã làm tất cả những bước trên mà vẫn không cho BIOS nhận diện được thì thành thật chia buồn với bạn vì bạn đành phải đưa đĩa cứng của mình đi bảo hành hoặc đến các trung tâm sửa chữa thiết bị tin học vậy.&lt;br /&gt;&lt;br /&gt;Xử lý những vấn đề “mềm”&lt;br /&gt;&lt;br /&gt;Sau khi BIOS đã nhận diện được đĩa cứng và bạn vẫn còn có thể vào Windows thì cách đơn giản nhất là dùng chương trình ScanDisk. Đây là một công cụ được tích hợp trong Windows giúp bạn kiểm tra và xác định đúng các sự cố xảy ra trên ổ cứng. Để sử dụng công cụ này, bạn làm như sau: Vào My Computer, nhấn chuột phải lên ổ đĩa cần kiểm tra, chọn Properties, chọn thẻ Tools và nhấn vào nút Check Now. Sau đó sẽ xuất hiện một cửa sổ với hay tùy chọn: Tự động sửa những file hệ thống bị lỗi và tìm kiếm các sự cố rồi phục hồi các bad sector. Hãy chọn cả hai và nhấn Start. Quá trình kiểm tra sẽ khá lâu (tùy theo dung lượng đĩa cứng).&lt;br /&gt;&lt;br /&gt;Nếu bạn là một người khá rành máy tính và đã từng sử dụng qua đĩa Hiren’s Boot thì có thể sử dụng các ứng dụng kiểm tra đĩa cứng như Segate Seatools, Hitachi Drive Fitness Test, Western Digital Data LifeGuard Dianostic tùy theo thương hiệu đĩa cứng mà bạn đang dùng.&lt;br /&gt;&lt;br /&gt;Các chương trình trên chuyên xử lý các lỗi của đĩa cứng (đặc biệt là lỗi bad sector) nên bạn có thể hoàn toàn tin tưởng vào chúng. Chỉ có một vấn đề với các chương trình này là quá trình chẩn đoán và sửa lỗi thường rất lâu (có thể trên 12 giờ liên tục cho các ổ cứng bị lỗi nhiều hoặc có dung lượng lớn).&lt;br /&gt;&lt;br /&gt;Sau khi hoàn tất những thao tác trên, hãy chỉ lưu những dữ liệu ít quan trọng lên đĩa cứng này để kiểm tra hiệu quả sửa chữa. Nếu một thời gian sau mà đĩa cứng vẫn hoạt động bình thường, không phát hiện âm thanh hay bị lỗi dữ liệu thì bạn có thể lưu những dữ liệu quan trọng hơn lên nó. Tuy vậy, theo nguyên lý bảo vệ sự an toàn cho dữ liệu, bạn hãy luôn sao lưu tất cả vào một đĩa cứng hoặc thiết bị lưu trữ khác trong một thời gian nhất định (1-3 tháng/lần).&lt;br /&gt;&lt;br /&gt;Theo DƯƠNG VĂN TÚ, eCHip&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-7125149294470883939?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/7125149294470883939/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=7125149294470883939' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/7125149294470883939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/7125149294470883939'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/04/x-l-cng-b-li.html' title='Xử lý ổ cứng bị lỗi'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-7451566130602704555</id><published>2008-04-07T11:42:00.003+07:00</published><updated>2008-04-07T11:47:51.556+07:00</updated><title type='text'>Hướng dẫn Việt hóa &amp; import skin cho IPB v2.3.4</title><content type='html'>Các bro down về bung nén ra, vô folder "Documentation" xem hướng dẫn setup nha.. Ở đây tui chỉ hướng dẫn Việt hóa &amp; add thêm skin thôi.&lt;br /&gt;&lt;br /&gt;Có sẵn một số skin đẹp rồi.&lt;br /&gt;&lt;br /&gt;Chúc vui vẻ.&lt;br /&gt;&lt;br /&gt;1. Cach them lang tiếng Việt :&lt;br /&gt;CODE- Vao AdminCP --&gt; Look &amp; Feel ---&gt;Manage Languages ---&gt; click "Create new language set" --&gt; Ở ô "Language Set Name" Nhập vào tên lang , ở đây là :Tiếng Việt.&lt;br /&gt;- copy toàn bộ file trong folder “Lang_Vietnamese\Lang” của  bộ source Vô folder  “cache\lang_cache\2” đây là folder moi dc tao sau khi add thêm lang ở bước trên, ví dụ “2”&lt;br /&gt;&lt;br /&gt;2. Thêm bộ gõ tiếng việt.&lt;br /&gt;CODE- Copy file “viettype.js” trong folder “Lang_Vietnamese” của bộ source vô folder root cài đặt forum.&lt;br /&gt;-Vào AdminCPSkin manager Editing the Board Header and Footer Wrapper&lt;br /&gt;chèn đoạn sau “&lt;script language="javascript" type="text/javascript" src="viettype.js"&gt;&lt;/script&gt;” ngay dưới dòng “&lt;% JAVASCRIPT %&gt;”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Chọn UTF-8 là mặc định cho forum như sau :&lt;br /&gt;CODE- trong AdminCP đi ở phần :Tools &amp; Settings -&gt;General Configuration-&gt;Document character set-&gt; Thay bằng utf-8&lt;br /&gt;Rùi lưu lại thay đổi là Ok!&lt;br /&gt;&lt;br /&gt;4. Thay doi skin&lt;br /&gt;CODEVào AdminCP, Look and Feel, Skin Manager, Skin Import/Export, Importing&lt;br /&gt;1/ Import Skin Templates&lt;br /&gt;- Upload XML Template set: bấm vào nút "browse" và di chuyển đến thư mục skin mà bạn đã down về, giải nén, và bấm vào file có tên .... skin..., và bấm nút "Open"&lt;br /&gt;- OR enter the filename of the XML Template Set: bạn có thể bỏ trống khu này&lt;br /&gt;- New Skin Set Name?: chọn 1 cái tên cho skin mới của bạn&lt;br /&gt;- Use with which image set?: chọn "-none-"&lt;br /&gt;- Bấm vào "IMPORT SKIN XML"&lt;br /&gt;2/ Import Skin Images&lt;br /&gt;- Upload XMLarchive Image set: bấm vào nút "browse" và di chuyển đến thư mục skin mà bạn đã down về, giải nén, và bấm vào file có tên .... image..., và bấm nút "Open"&lt;br /&gt;- OR enter the filename of the XMLarchive Image Set: bạn có thể bỏ trống khu này&lt;br /&gt;- New Image Set Directory Name?: chọn 1 cái tên cho thư mục ảnh của bạn. Thường là dùng chung tên của skin mà bạn đã tạo ra ở trên&lt;br /&gt;- Use with which skin set?: [b]chọn đúng cái skin template đã import ở trên[/b].&lt;br /&gt;- Bấm vào "IMPORT SKIN IMAGES"&lt;br /&gt;3/ Import Skin Macros&lt;br /&gt;Bạn có thể bỏ qua giai đoạn này nếu người làm skin không có cung cấp cho bạn cái skin macro&lt;br /&gt;Nếu Có file thì làm như sau- &lt;br /&gt;Upload XMLarchive Image set: bấm vào nút "browse" và di chuyển đến thư mục skin mà bạn đã down về, giải nén, và bấm vào file có tên .... macro..., và bấm nút "Open"&lt;br /&gt;- OR enter the filename of the XMLarchive Image Set: bạn có thể bỏ trống khu này&lt;br /&gt;- Use with which skin set?: [b]chọn đúng tên mà bạn đã đặt hồi nãy[/b]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://danongdichthuc.com/testing/IP.Board.v2.3.4.rar"&gt;Link download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-7451566130602704555?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/7451566130602704555/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=7451566130602704555' title='1 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/7451566130602704555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/7451566130602704555'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/04/hng-dn-vit-ha-import-skin-cho-ipb-v234.html' title='Hướng dẫn Việt hóa &amp; import skin cho IPB v2.3.4'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-4433306536200930064</id><published>2008-03-28T10:40:00.001+07:00</published><updated>2008-03-28T10:41:48.961+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kinh nghiệm'/><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='màn hình laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='mua màn hình laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='phần cứng'/><title type='text'>Tìm hiểu về màn hình laptop</title><content type='html'>&lt;strong&gt;Nếu muốn mua máy tính xách tay nhưng không có nhiều kinh nghiệm về display   thì những thông tin dưới đây có thể sẽ giúp ích cho bạn. Lời khuyên chung là cần   tìm hiểu về điều kiện bảo hành với chấm màn hình của từng hãng.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Công   nghệ được sử dụng phổ biến trong các dòng máy tính xách tay trên thị trường hiện   nay là tinh thể lỏng (LCD - Liquid Crystal Display). Kích thước và độ phân giải   là các yếu tố phân biệt giữa các sản phẩm. Độ phân giải trên LCD được xác định   bằng các điểm chấm (pixel). Mỗi điểm được cấu thành bởi 3 chấm phụ: đỏ, xanh lá   cây và xanh nước biển. 3 màu này kết hợp với nhau để tạo thành màu hoàn chỉnh   cần hiển thị. &lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;img src="http://www.danongdichthuc.com/upload/News/maitrambttt3752829122007laptop.jpg" alt="GNet Media" /&gt;&lt;br /&gt;&lt;br /&gt;  Ngày càng có nhiều   người mua máy tính xách tay nhưng không phải ai cũng có&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;kinh nghiệm lựa chọn   màn hình tốt. Ảnh:   &lt;em&gt;N.H.&lt;/em&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Độ phân giải là một   “thước đo” khả năng hiển thị. Ví dụ như một màn hình XGA 14.1” tiêu chuẩn sẽ có   độ phân giải 1024 x 768. Trong đó, 1024 là số điểm chấm theo chiều ngang, 768 là   số điểm chấm theo chiều dọc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Với model SXGA 14.1” tiêu chuẩn thì độ phân   giải là 1280 x 1024. Nếu một hình ảnh ở trên XGA có kích thước 20 x 10 pixel,   thì trên SXGA, nó sẽ có kích thước tương đối nhỏ hơn, mặc dù số điểm chấm được   sử dụng để hiển thị là như nhau. Điều này giúp cho SXGA hiển thị được nhiều hình   ảnh hơn, tạo nên cảm giác “rộng hơn” so với XGA.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hầu hết màn LCD hiện nay   sử dụng công nghệ TFT (Thin-Film Transistor), hay còn gọi là hiển thị chủ động   (active matrix display). Tên gọi này để phân biệt với hiển thị bị động (passive   matrix display). Sản phẩm TFT sử dụng một bóng bán dẫn (transistor) riêng biệt   tại mỗi điểm chấm phụ, được kích hoạt bởi dòng điện rất nhỏ, giúp tốc độ hiển   thị màu nhanh hơn. Do đó, với màn hình hiển thị chủ động, các thay đổi về màu   sắc hay hình ảnh sẽ chân thực và nhanh hơn nhiều so với các thiết bị bị   động.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nếu bóng bán dẫn nối tắt hoặc hở sẽ dẫn đến một điểm chấm không có   khả năng hiển thị màu sắc bình thường, gọi là điểm chết (dead pixel) và nó có   thể bị sáng, chỉ hiển thị một màu như màu đỏ, màu xanh, màu trắng hoặc mất hẳn,   chỉ nhìn thấy màu đen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Trong quá trình sản xuất, rất khó để có thể xác   định một bóng bán dẫn bị hỏng hay không. Thường chỉ khi sản phẩm &amp;quot;đã ra lò&amp;quot; hoàn   chỉnh người ta mới xác định được nó có điểm chết hay không. Nếu các nhà sản xuất   LCD buộc phải loại bỏ thiết bị có điểm chết, dù chỉ là một điểm, chi phí chế tạo   và giá bán của màn hình LCD có thể đã đội lên rất cao.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vậy tiêu chuẩn của   số điểm chết được chấp nhận với mỗi màn hình bao nhiêu là vừa? Câu hỏi này phụ   thuộc vào mỗi nhà sản xuất riêng biệt. Ví dụ như với Apple, không có một câu trả   lời cụ thể là bao nhiêu điểm chấm hỏng sẽ được bảo hành. Hoặc với Lenovo, số   lượng này được quy định tùy theo loại màn hình được sử dụng, nhìn chung rơi vào   khoảng 5 - 6 chấm. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-4433306536200930064?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/4433306536200930064/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=4433306536200930064' title='1 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/4433306536200930064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/4433306536200930064'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/03/tm-hiu-v-mn-hnh-laptop.html' title='Tìm hiểu về màn hình laptop'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-1301115707726415950</id><published>2008-03-28T10:27:00.002+07:00</published><updated>2008-03-28T10:36:03.193+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><title type='text'>Creating a SQL Server database programmatically using VB.NET</title><content type='html'>&lt;p&gt;SQL not only let you   select, add, and delete data from databases table, it also provides commands to   manage databases. Using SQL statements you can create database objects   programmatically such as a table, view, stored procedure, rule, index and so on.   It also provides commands to alter a database and database schemas for example   adding and deleting a column from a database table, adding some constraints to a   column and so on. This example shows you how to create a new database table, add   data to it, create a view of the data, alter database table and then delete the   newly created table. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;In this application, I'll   create a SQL Server database, create a database table, add data to it, create   database objects such as views, stored procedures, rules, and index and view   data in the data grid using Sql data provider. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;To test this application,   create a Widows application add a data grid control and some button controls.   You can even test code by adding only one button or one button for each   activity. Our application form looks like Figure 1. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;img alt="GNet Media" hspace="0" src="http://www.vbdotnetheaven.com/UploadFile/mahesh/CreateSQLDatabase04252005064419AM/Images/CreatingDBProgrammaticallyM.jpg" align="baseline" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;  Figure   1. Creating a database and it's object application.&lt;/em&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;After adding controls, add   the following variables in the beginning of the form class. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private ConnectionString As String = &amp;quot;Integrated Security=SSPI;&amp;quot; +   &amp;quot;Initial Catalog=;&amp;quot; + &amp;quot;Data Source=localhost;&amp;quot;&lt;br /&gt;&lt;br /&gt;  Private reader As SqlDataReader   = Nothing&lt;br /&gt;&lt;br /&gt;  Private conn As   SqlConnection = Nothing&lt;br /&gt;&lt;br /&gt;  Private cmd As   SqlCommand = Nothing&lt;br /&gt;&lt;br /&gt;  Private AlterTableBtn As   System.Windows.Forms.Button&lt;br /&gt;&lt;br /&gt;  Private sql As String = Nothing&lt;br /&gt;&lt;br /&gt;  Private CreateOthersBtn As   System.Windows.Forms.Button&lt;br /&gt;&lt;br /&gt;  Private button1 As System.Windows.Forms.Button&lt;/p&gt;&lt;br /&gt;&lt;p&gt;First thing I'm going to   do is create ExecuteSQLStmt method. This method executes a SQL statement against   the SQL Sever database (mydb which I will create from my program) using Sql data   providers using ExecuteNonQuery method. The ExecuteSQLStmt method is listed in   Listing 1. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub ExecuteSQLStmt(ByVal sql As String)&lt;br /&gt;&lt;br /&gt;  ' Open the   connection&lt;br /&gt;&lt;br /&gt;  If conn.State =   ConnectionState.Open Then&lt;br /&gt;&lt;br /&gt;  conn.Close()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  ConnectionString = &amp;quot;Integrated   Security=SSPI;&amp;quot; + &amp;quot;Initial Catalog=mydb;&amp;quot; + &amp;quot;Data   Source=localhost;&amp;quot;&lt;br /&gt;&lt;br /&gt;  conn.ConnectionString =   ConnectionString&lt;br /&gt;&lt;br /&gt;  conn.Open()&lt;br /&gt;&lt;br /&gt;  cmd = New SqlCommand(sql,   conn)&lt;br /&gt;&lt;br /&gt;  Try&lt;br /&gt;&lt;br /&gt;  cmd.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;  Catch ae As   SqlException&lt;br /&gt;&lt;br /&gt;  MessageBox.Show(ae.Message.ToString())&lt;br /&gt;&lt;br /&gt;  End Try&lt;br /&gt;&lt;br /&gt;  End Sub 'ExecuteSQLStmt &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 1. The   ExecuteSQLStmt method.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;After this I'm   going to create a new SQL Server database. The CREATE DATABASE SQL statement   creates a database. The syntax of CREATE DATABASE depends on the database you   create. Depending on the database type, you can also set values of database   size, growth and file name. Listing 2 creates a SQL Server database mydb and   data files are stored in the C:\\mysql directory. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;'This   method creates a new SQL Server database&lt;br /&gt;&lt;br /&gt;  Private Sub   CreateDBBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  ' Create a   connection&lt;br /&gt;&lt;br /&gt;  conn = New   SqlConnection(ConnectionString)&lt;br /&gt;&lt;br /&gt;  ' Open the   connection&lt;br /&gt;&lt;br /&gt;  If conn.State &amp;lt;&amp;gt;   ConnectionState.Open Then&lt;br /&gt;&lt;br /&gt;  conn.Open()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  Dim sql As String = &amp;quot;CREATE DATABASE mydb ON   PRIMARY&amp;quot; + &amp;quot;(Name=test_data, filename = 'C:\mysql\mydb_data.mdf', size=3,&amp;quot; +   &amp;quot;maxsize=5, filegrowth=10%)log on&amp;quot; + &amp;quot;(name=mydbb_log,   filename='C:\mysql\mydb_log.ldf',size=3,&amp;quot; +   &amp;quot;maxsize=20,filegrowth=1)&amp;quot;&lt;br /&gt;&lt;br /&gt;  ExecuteSQLStmt(sql)&lt;br /&gt;&lt;br /&gt;  End Sub 'CreateDBBtn_Click &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 2. Creating   a SQL Server database.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now next step is to   create a table. You use CREATE TABLE SQL statement to create a table. In this   statement you define the table and schema (table columns and their data types).   Listing 3 creates a table myTable with four column listed in Table 1. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;br /&gt;&lt;table bordercolor="#808080" bordercolordark="#808080" width="100%" bgcolor="#c0c0c0" bordercolorlight="#ffffff" border="1"&gt;&lt;br /&gt;  &lt;tbody&gt;&lt;br /&gt;    &lt;tr bgcolor="#808080"&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Column   Name&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Size&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Property&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myId&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;integer&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;4 &lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Primary Key &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myName&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;char&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;50&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Allow   Null&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myAddress&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;char&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;255&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Allow   Null&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myBalance&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;float&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;8&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Allow   Null&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;  &lt;/tbody&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Table 1. New table   myTable schema.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub   CreateTableBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  ' Open the   connection&lt;br /&gt;&lt;br /&gt;  If conn.State =   ConnectionState.Open Then&lt;br /&gt;&lt;br /&gt;  conn.Close()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  ConnectionString = &amp;quot;Integrated   Security=SSPI;&amp;quot; + &amp;quot;Initial Catalog=mydb;&amp;quot; + &amp;quot;Data   Source=localhost;&amp;quot;&lt;br /&gt;&lt;br /&gt;  conn.ConnectionString =   ConnectionString&lt;br /&gt;&lt;br /&gt;  conn.Open()&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;CREATE TABLE myTable&amp;quot; + &amp;quot;(myId INTEGER   CONSTRAINT PKeyMyId PRIMARY KEY,&amp;quot; + &amp;quot;myName CHAR(50), myAddress CHAR(255),   myBalance FLOAT)&amp;quot;&lt;br /&gt;&lt;br /&gt;  cmd = New SqlCommand(sql,   conn)&lt;br /&gt;&lt;br /&gt;  Try&lt;br /&gt;&lt;br /&gt;  cmd.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;  ' Adding records the   table&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;INSERT   INTO myTable(myId, myName, myAddress, myBalance) &amp;quot; + &amp;quot;VALUES (1001, 'Puneet   Nehra', 'A 449 Sect 19, DELHI', 23.98 ) &amp;quot;&lt;br /&gt;&lt;br /&gt;  cmd = New SqlCommand(sql,   conn)&lt;br /&gt;&lt;br /&gt;  cmd.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;INSERT INTO myTable(myId, myName,   myAddress, myBalance) &amp;quot; + &amp;quot;VALUES (1002, 'Anoop Singh', 'Lodi Road, DELHI',   353.64) &amp;quot;&lt;br /&gt;&lt;br /&gt;  cmd = New SqlCommand(sql,   conn)&lt;br /&gt;&lt;br /&gt;  cmd.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;INSERT INTO myTable(myId, myName,   myAddress, myBalance) &amp;quot; + &amp;quot;VALUES (1003, 'Rakesh M', 'Nag Chowk, Jabalpur M.P.',   43.43) &amp;quot;&lt;br /&gt;&lt;br /&gt;  cmd = New SqlCommand(sql,   conn)&lt;br /&gt;&lt;br /&gt;  cmd.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;INSERT INTO myTable(myId, myName,   myAddress, myBalance) &amp;quot; + &amp;quot;VALUES (1004, 'Madan Kesh', '4th Street, Lane 3,   DELHI', 23.00) &amp;quot;&lt;br /&gt;&lt;br /&gt;  cmd = New SqlCommand(sql,   conn)&lt;br /&gt;&lt;br /&gt;  cmd.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;  Catch ae As   SqlException&lt;br /&gt;&lt;br /&gt;  MessageBox.Show(ae.Message.ToString())&lt;br /&gt;&lt;br /&gt;  End Try&lt;br /&gt;&lt;br /&gt;  End Sub 'CreateTableBtn_Click &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Listing 4. Creating a   database table.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As you can see from   Listing 5, I also add data to the table using INSERT INTO SQL statement. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The CREATE PROCEDURE   statement creates a stored procedure as you can see in Listing 10-18, I create a   stored procedure myPoc which returs data result of SELECT myName and myAddress   column. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub   CreateSPBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;CREATE   PROCEDURE myProc AS&amp;quot; + &amp;quot; SELECT myName, myAddress FROM myTable   GO&amp;quot;&lt;br /&gt;&lt;br /&gt;  ExecuteSQLStmt(sql)&lt;br /&gt;&lt;br /&gt;  End Sub 'CreateSPBtn_Click &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing   5. Creating a stored procedure programmatically.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now I show you how to   create views programmatically using CREATE VIEW SQL statement. As you can see   from Listing 6, I create a view myView which is result of myName column rows   from myTable. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub   CreateViewBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;CREATE   VIEW myView AS SELECT myName FROM myTable&amp;quot;&lt;br /&gt;&lt;br /&gt;  ExecuteSQLStmt(sql)&lt;br /&gt;&lt;br /&gt;  End Sub 'CreateViewBtn_Click &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 6. Creating   a view using CREATE VIEW&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The ALTER TABLE is   a useful SQL statement if you need to change your database schema   programmatically. The ALTER TABLE statement can be used to add and remove new   columns to a table, changing column properties, data types and constraints. The   Listing 7 show that I change the database schema of myTable by first change   column data type range from 50 to 100 characters and by adding a new column   newCol of TIMESTAMP type.   &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub   AlterTableBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;ALTER   TABLE MyTable ALTER COLUMN&amp;quot; + &amp;quot;myName CHAR(100) NOT   NULL&amp;quot;&lt;br /&gt;&lt;br /&gt;  ExecuteSQLStmt(sql)&lt;br /&gt;&lt;br /&gt;  End Sub 'AlterTableBtn_Click&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 7. Using ALTER   TABLE to change a database schema programmatically.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The new table schema looks   like Table 2.  &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;br /&gt;&lt;table bordercolor="#808080" bordercolordark="#808080" width="100%" bgcolor="#c0c0c0" bordercolorlight="#ffffff" border="1"&gt;&lt;br /&gt;  &lt;tbody&gt;&lt;br /&gt;    &lt;tr bgcolor="#808080"&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Column   Name&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Size&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;&lt;strong&gt;Property&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myId&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;integer&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;4 &lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Primary Key &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myName&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;char&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;50&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Allow   Null&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myAddress&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;char&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;255&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Allow   Null&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;myBalance&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;float&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;8&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Allow   Null&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;newCol&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;timestamp&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;8&lt;/td&gt;&lt;br /&gt;      &lt;td&gt;Allow   Null&lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;  &lt;/tbody&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Table 2. MyTable after   ALTER TABLE &lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You can also create other   database object such as index, rule, and users. The code listed in Listing 8   creates one rule and index on myTable. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Note: Create Index can   only create an index if you don't have an index on a table. Otherwise you will   get an error message.  &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub CreateOthersBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  sql = &amp;quot;CREATE UNIQUE   CLUSTERED INDEX &amp;quot; + &amp;quot;myIdx ON myTable(myName)&amp;quot;&lt;br /&gt;&lt;br /&gt;  ExecuteSQLStmt(sql)&lt;br /&gt;&lt;br /&gt;  sql =   &amp;quot;CREATE RULE myRule &amp;quot; + &amp;quot;AS @myBalance &amp;gt;= 32 AND @myBalance &amp;lt;   60&amp;quot;&lt;br /&gt;&lt;br /&gt;  ExecuteSQLStmt(sql)&lt;br /&gt;&lt;br /&gt;  End Sub 'CreateOthersBtn_Click &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 8. Creating rules and indexes using SQL   statement.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The DROP   TABLE command can be used to delete a table and its data permanently. The code   listed in Listing 9 deletes myTable.  &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub DropTableBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  Dim sql As String = &amp;quot;DROP TABLE MyTable&amp;quot;&lt;br /&gt;&lt;br /&gt;  ExecuteSQLStmt(sql)   '&lt;br /&gt;&lt;br /&gt;  End Sub 'DropTableBtn_Click&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing   9. Deleting table using DROP TABLE.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now next step is to view   data from the table, view and stored procedure. The ViewDataBtn_Click method   listed in Listing 10 shows the entire data from the table. The ViewSPBtn_Click   and ViewViewBtn_Click methods view stored procedure and view data we have   created earlier. As you can see using views and stored procedures work same as   you use a SQL Statement. We have discussed working with Views and stored   procedures in the beginning of this chapter. As you can see from Listing 10, 11,   and 12, I view data from stored procedure and view.   &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub ViewDataBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  '/ Open the connection&lt;br /&gt;&lt;br /&gt;  If conn.State = ConnectionState.Open Then&lt;br /&gt;&lt;br /&gt;  conn.Close()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  ConnectionString = &amp;quot;Integrated Security=SSPI;&amp;quot;   + &amp;quot;Initial Catalog=mydb;&amp;quot; + &amp;quot;Data Source=localhost;&amp;quot;&lt;br /&gt;&lt;br /&gt;  conn.ConnectionString =   ConnectionString&lt;br /&gt;&lt;br /&gt;  conn.Open()&lt;br /&gt;&lt;br /&gt;  ' Create a   data adapter&lt;br /&gt;&lt;br /&gt;  Dim da   As New SqlDataAdapter(&amp;quot;SELECT * FROM   myTable&amp;quot;, conn)&lt;br /&gt;&lt;br /&gt;  ' Create DataSet, fill it   and view in data grid&lt;br /&gt;&lt;br /&gt;  Dim ds As New DataSet(&amp;quot;myTable&amp;quot;)&lt;br /&gt;&lt;br /&gt;  da.Fill(ds,   &amp;quot;myTable&amp;quot;)&lt;br /&gt;&lt;br /&gt;  dataGrid1.DataSource =   ds.Tables(&amp;quot;myTable&amp;quot;).DefaultView&lt;br /&gt;&lt;br /&gt;  End Sub 'ViewDataBtn_Click&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 10. Viewing data from a database   table.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;  Private Sub ViewSPBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  '/ Open the connection&lt;br /&gt;&lt;br /&gt;  If conn.State = ConnectionState.Open Then&lt;br /&gt;&lt;br /&gt;  conn.Close()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  ConnectionString = &amp;quot;Integrated Security=SSPI;&amp;quot;   + &amp;quot;Initial Catalog=mydb;&amp;quot; + &amp;quot;Data Source=localhost;&amp;quot;&lt;br /&gt;&lt;br /&gt;  conn.ConnectionString =   ConnectionString&lt;br /&gt;&lt;br /&gt;  conn.Open()&lt;br /&gt;&lt;br /&gt;  ' Create a   data adapter&lt;br /&gt;&lt;br /&gt;  Dim da   As New SqlDataAdapter(&amp;quot;myProc&amp;quot;,   conn)&lt;br /&gt;&lt;br /&gt;  ' Create DataSet, fill it and view in   data grid&lt;br /&gt;&lt;br /&gt;  Dim ds   As New DataSet(&amp;quot;SP&amp;quot;)&lt;br /&gt;&lt;br /&gt;  da.Fill(ds,   &amp;quot;SP&amp;quot;)&lt;br /&gt;&lt;br /&gt;  dataGrid1.DataSource = ds.DefaultViewManager&lt;br /&gt;&lt;br /&gt;  End Sub 'ViewSPBtn_Click&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 11.Using a stored procedure to view data from   a table.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Private Sub ViewViewBtn_Click(ByVal sender As   Object, ByVal e As System.EventArgs)&lt;br /&gt;&lt;br /&gt;  ' Open the connection&lt;br /&gt;&lt;br /&gt;  If conn.State = ConnectionState.Open Then&lt;br /&gt;&lt;br /&gt;  conn.Close()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  ConnectionString = &amp;quot;Integrated Security=SSPI;&amp;quot;   + &amp;quot;Initial Catalog=mydb;&amp;quot; + &amp;quot;Data Source=localhost;&amp;quot;&lt;br /&gt;&lt;br /&gt;  conn.ConnectionString =   ConnectionString&lt;br /&gt;&lt;br /&gt;  conn.Open()&lt;br /&gt;&lt;br /&gt;  ' Create a   data adapter&lt;br /&gt;&lt;br /&gt;  Dim da   As New SqlDataAdapter(&amp;quot;SELECT * FROM   myView&amp;quot;, conn)&lt;br /&gt;&lt;br /&gt;  ' Create DataSet, fill it   and view in data grid&lt;br /&gt;&lt;br /&gt;  Dim ds As New   DataSet&lt;br /&gt;&lt;br /&gt;  da.Fill(ds)&lt;br /&gt;&lt;br /&gt;  dataGrid1.DataSource =   ds.DefaultViewManager&lt;br /&gt;&lt;br /&gt;  End Sub 'ViewViewBtn_Click&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 12.Using a   view to view data from a table.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Finally, I create   AppExit method which releases the connection and reader objects and I call them   from the Dispose method as you can see in Listing 13.  &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Protected Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;&lt;br /&gt;  AppExit()&lt;br /&gt;&lt;br /&gt;  If disposing Then&lt;br /&gt;&lt;br /&gt;  If   Not (components   Is Nothing) Then&lt;br /&gt;&lt;br /&gt;  components.Dispose()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  End   If&lt;br /&gt;&lt;br /&gt;  MyBase.Dispose(disposing)&lt;br /&gt;&lt;br /&gt;  End Sub 'Dispose&lt;br /&gt;&lt;br /&gt;  '   Called when you are done with the applicaton&lt;br /&gt;&lt;br /&gt;  ' Or from Close   button&lt;br /&gt;&lt;br /&gt;  Private   Sub   AppExit()&lt;br /&gt;&lt;br /&gt;  If   Not (reader Is Nothing) Then&lt;br /&gt;&lt;br /&gt;  reader.Close()&lt;br /&gt;&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  If conn.State   = ConnectionState.Open Then&lt;br /&gt;&lt;br /&gt;  conn.Close()&lt;br /&gt;&lt;br /&gt;  End   If&lt;br /&gt;&lt;br /&gt;  End Sub 'AppExit&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Listing 13. AppExit method&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;  In   this article, you saw how to create a new database and database objects   including tables, stored procedures, views and alter tables. You also saw how to   delete these object using SQL statements.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-1301115707726415950?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/1301115707726415950/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=1301115707726415950' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/1301115707726415950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/1301115707726415950'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/03/creating-sql-server-database.html' title='Creating a SQL Server database programmatically using VB.NET'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-2714568314249248868</id><published>2008-03-02T01:17:00.002+07:00</published><updated>2008-03-02T01:19:54.448+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Giải pháp CNTT'/><category scheme='http://www.blogger.com/atom/ns#' term='Thương Mại Điện Tử'/><category scheme='http://www.blogger.com/atom/ns#' term='E'/><title type='text'>E-COMPANY (CÔNG TY ĐIỆN TỬ) MÔ HÌNH PHÁT TRIỂN CNTT CHO DOANH NGHIỆP</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;Tìm hiểu thông tin cơ bản về doanh nghiệp Các bước đầu tư CNTT trong doanh nghiệp Khái quát về doanh nghiệp điện tử (DNĐT) Lộ trình chuyển đổi và xây dựng DNĐT Mức độ sẵn sàng của doanh nghiệp Các chương trình trong xây dựng e-Company Lộ trình xây dựng e-Company &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://gnetmedia.net/gnetmedia_download/E-Company_(Tran_Luong_Son).ppt"&gt;Download&lt;/a&gt;&lt;/div&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-2714568314249248868?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/2714568314249248868/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=2714568314249248868' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/2714568314249248868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/2714568314249248868'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/03/e-company-cng-ty-in-t-m-hnh-pht-trin.html' title='E-COMPANY (CÔNG TY ĐIỆN TỬ) MÔ HÌNH PHÁT TRIỂN CNTT CHO DOANH NGHIỆP'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-1796939647025259795</id><published>2008-03-02T01:12:00.001+07:00</published><updated>2008-03-02T01:16:31.202+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mạng máy tính'/><category scheme='http://www.blogger.com/atom/ns#' term='Giải pháp CNTT'/><title type='text'>Tài liệu quản trị mạng máy tính,mạng LAN, mạng WAN ...</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;Hiện nay trên thế giới có nhiều dịch vụ dành cho việc chuyển thông tin từ khu vực này sang khu vực khác nhằm liên kết các mạng LAN của các khu vực khác nhau lại. Để có được liên kết này người ta thường sử dụng các dịch vụ của các mạng diện rộng. Hiện nay trong khi giao thức truyền thông cơ bản của LAN là Ethernet, Token Ring thì giao thức dùng để tương nối các LAN thông thường dựa trên chuẩn TCP/IP. Ngày nay khi các dạng kết nối có xu hướng ngày càng đa dạng và phân tán cho nên các mạng WAN đang thiên về truyền theo đơn vị tập tin thay vì truyền một lần xử lý&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://gnetmedia.net/gnetmdia_download/quantrimang.rar"&gt;Download &lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-1796939647025259795?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/1796939647025259795/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=1796939647025259795' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/1796939647025259795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/1796939647025259795'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/03/ti-liu-qun-tr-mng-my-tnhmng-lan-mng-wan.html' title='Tài liệu quản trị mạng máy tính,mạng LAN, mạng WAN ...'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7879405464164281528.post-7721144200473260406</id><published>2008-03-02T01:01:00.003+07:00</published><updated>2008-03-02T01:10:54.432+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Giải pháp CNTT'/><title type='text'>Những giải pháp CNTT cho quản lý tiền mặt, kinh doanh tiền gửi.</title><content type='html'>Ông Apurva Jain - Giám đốc kinh doanh khu vực Châu Á Thái Bình Dương - CashTech. Presentation on Remittance &amp;amp; Cash Management. Banking Day 2006. Bank services is becoming the hub of distribution financial chain&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gnetmedia.net/gnetmedia_download/Apurva_Cashtech.ppt"&gt;download&lt;br /&gt;&lt;/a&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7879405464164281528-7721144200473260406?l=gnetmedia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnetmedia.blogspot.com/feeds/7721144200473260406/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7879405464164281528&amp;postID=7721144200473260406' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/7721144200473260406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7879405464164281528/posts/default/7721144200473260406'/><link rel='alternate' type='text/html' href='http://gnetmedia.blogspot.com/2008/03/nhng-gii-php-cntt-cho-qun-l-tin-mt-kinh.html' title='Những giải pháp CNTT cho quản lý tiền mặt, kinh doanh tiền gửi.'/><author><name>Vương Lợi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
