Welcome Guest ( Log In | Register )

Help | Search | Members | Calendar

Pages: (2) [1] 2   ( Go to first unread post )
Вопрос по VisualBasic
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
Berkut
Posted: Dec 2 2008, 19:27

Challenger

Group: Member
Member No.: 458

Joined: October 29, 2003

Здрасте всем.
У меня тут такая проблемка с Visual Basic.
Нужна написать прогу на Visual Basic которая будет предназначаться для HR отдела некоей фирмы.
Она должна работать с готовой уже базой на MS SQL 2005 и должна иметь некоторые обезательные для заполнения формы ( пол , возраст , имя и т.п. ) , что б велась бы запись персонала и поиск в случаи надобности.
Только вот ничерта не выходит.Visual Basic знаю плохо, да и если честно и не намереваюсь изучать .
Вот пример , у меня есть комбо бокс , который должен брать значения из таблицы Gender ( соответсвенно муж. либо жен. ) .
Я что то никак не дорубаюсь как это сделать , может кто делал , подскажет ?
 
       Top
CyberJoe
Posted: Dec 2 2008, 20:58

Brain Master

Group: Elite Member
Member No.: 489

Joined: November 25, 2003

А в какой части возникает проблема?
Надо подключиться к базе, сделать запрос базе, получить ответ, потом отметить нужный пол в комбо боксе.
при какой из этих операций возникла проблема? то как каждый из этих шагов делаеться по отдельности можно найти в нете.

--------------------
Dude....
 
      Top
Atu
Posted: Dec 3 2008, 01:09

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

Может хотя бы версию VB(VS) для начала скажешь? Детство вспомним smile.gif Поржем вместе... Только ты мне скажи на милость, а на кой писать на VB, если ее все равно сызнова писать? Тем более если "Visual Basic знаю плохо, да и если честно и не намереваюсь изучать"

--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
Berkut
Posted: Dec 3 2008, 02:32

Challenger

Group: Member
Member No.: 458

Joined: October 29, 2003

версия 6.0
А писать на Visual Basic приходиться.... долгая история smile.gif
 
       Top
Master of Puppets
Posted: Dec 3 2008, 15:51

Eye of the Vision

Group: Moderator
Member No.: 2067

Joined: August 29, 2006

В VB 6 подобные вещи делаются элементарно. Иногда даже не нужно бывает код писать. Сейчас я некоторые детали не помню, потому боюсь соврать, но могу дать книжку, в которой это все подробно объяснено. Стучи в ПМ или в асю 498516518.

--------------------
Master of Puppets, I'm pulling your strings, twisting your mind and smashing your dreams!
⠠⠵
 
       Top
Atu
Posted: Dec 3 2008, 17:04

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

У меня было полчасика свободного времени, решил вспомнить, как было сказано выше, детство smile.gif Держи, все остальное можешь делать по образу и подобию... А вообще мне было даже забавно это вспомнить smile.gif

Итак, добавь библиотеку Microsoft ActiveX Data Object в референсах и смело импровизируй в рамках этой библиотеки smile.gif Мой код выглядит так:

CODE
Dim adoConnection As ADODB.Connection
Dim rstRecordset As ADODB.Recordset

Private Sub Form_Load()
   Dim strSQL As String
   Dim strConnection As String
   
   Set adoConnection = New ADODB.Connection
   Set rstRecordset = New ADODB.Recordset
   
   strSQL = "select * from Gender"
   strConnection = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;" & _
                   "Initial Catalog=ComboTest;Data Source=SERVERNAME\SQLEXPRESS"
   
   adoConnection.Open strConnection
   
   With rstRecordset
       .CacheSize = 50
       .CursorLocation = adUseClient
       .CursorType = adOpenStatic
       .LockType = adLockReadOnly
       .ActiveConnection = adoConnection
       .Open strSQL
   End With
   
   If rstRecordset.RecordCount <= 0 Then
       cmbGender.Text = "No Record"
   Else
       rstRecordset.MoveFirst
       
       While Not rstRecordset.EOF
           cmbGender.AddItem rstRecordset.Fields("Gender_Name").Value
           rstRecordset.MoveNext
       Wend
   End If
   
End Sub

Private Sub Form_Unload(Cancel As Integer)
   rstRecordset.Close
   adoConnection.Close
End Sub


где в Initial Catalog в коннекшн стринге ставь название своей базы (в моем примере ComboTest), а в Data Source название своего сервака (в моем примере это SERVERNAME\SQLEXPRESS). Не забудь на форму пихнуть этот самый комбобокс с названием cmbGender. В результате получится что-то вроде:
Attached Image


--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
Atu
Posted: Dec 3 2008, 17:08

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

QUOTE (In the immortal words of Master of Puppets, since Dec 3 2008, 16:51)
В VB 6 подобные вещи делаются элементарно. Иногда даже не нужно бывает код писать. Сейчас я некоторые детали не помню, потому боюсь соврать, но могу дать книжку, в которой это все подробно объяснено. Стучи в ПМ или в асю 498516518.

Да в этом VB даже и книжка не нужна smile.gif методом тыка можно все что угодно сделать за несколько часов smile.gif

--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
Master of Puppets
Posted: Dec 3 2008, 17:11

Eye of the Vision

Group: Moderator
Member No.: 2067

Joined: August 29, 2006

QUOTE (In the immortal words of Atu, since Dec 3 2008, 17:08...)
Да в этом VB даже и книжка не нужна smile.gif методом тыка можно все что угодно сделать за несколько часов smile.gif

Угу, я помню как я этим методом на VB игру писал в юном возрасте... эх, старею, видать smile.gif)

--------------------
Master of Puppets, I'm pulling your strings, twisting your mind and smashing your dreams!
⠠⠵
 
       Top
Atu
Posted: Dec 3 2008, 17:14

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

Блин, я даже синтаксис еще помню! Да и названия переменным чисто вб-шные в моем коде поставил (в смысле чаще всего в VB такое написание наблюдается), хоть бы кто заметил smile.gif Видать есть еще порох в пороховницах smile.gif

--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
Berkut
Posted: Dec 3 2008, 17:35

Challenger

Group: Member
Member No.: 458

Joined: October 29, 2003

Atu -> огроменное спасибо ! Очень Очень и очень помогло smile.gif
Master of Puppets -> в аську стукну , т.к. книжка полюбому пригодиться smile.gif

Спосибо всем за внимание smile.gif
 
       Top
Berkut
Posted: Dec 11 2008, 16:20

Challenger

Group: Member
Member No.: 458

Joined: October 29, 2003

Гыг ... вообщем , программку написал , все гуд и все работает ..
Правда я ее написал на Visual Basic 2005. Оказалось все вообще просто и просто классно.
 
       Top
Atu
Posted: Dec 11 2008, 16:26

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

QUOTE (In the immortal words of Berkut, since Dec 11 2008, 17:20...)
Гыг ... вообщем , программку написал , все гуд и все работает ..
Правда я ее написал на Visual Basic 2005. Оказалось все вообще просто и просто классно.

а какая разница? разве что понятие класса более толково сделано, ну как-никак .NET, ядро-то тоже... а все остальное тоже самое безобразие smile.gif

--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
Berkut
Posted: Dec 12 2008, 00:26

Challenger

Group: Member
Member No.: 458

Joined: October 29, 2003

Не , в 2005 как то все очень уж понятнее, т.е. интуитивно легко и быстро находишь то что тебе надо и получаешь результат..
 
       Top
Atu
Posted: Dec 12 2008, 13:27

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

ну здорово smile.gif тогда можно было и на C# сворганить smile.gif хотя какая нафиг разница...

--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
DZUK
Posted: Dec 12 2008, 17:29

Light Bringer

Group: Elite Member
Member No.: 2803

Joined: March 29, 2007

Ну раз такая бодяга про .НЕТ, может кому приходилось писать компоненты? Я имею в виду сериализация и все такое?

--------------------
Обьединенные части целого есть нечто большее, чем просто их сумма.
 
     Top
Atu
Posted: Dec 12 2008, 17:56

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

и в чем же вопрос? smile.gif или нужно всю теорию в целом рассказать?

--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
DZUK
Posted: Dec 12 2008, 21:21

Light Bringer

Group: Elite Member
Member No.: 2803

Joined: March 29, 2007

Ну вопрос в этом: Например в DataGridView из дизайнера когда коллекцию колонок редактируеш, устанавливаеш свойство Name колонки, то в коде сгенерированный дизайнером обьект тоже имеет это же имя. У меня тоже есть колекция, но я не знаю, как сделать, чтобы получить такой-же эфект. Незнаю, как лучше обяснитьsad.gif(

вот код сгенеренный дизайнером:
CODE


//это собственно обьект коллекции
newProject.MActiveObject mActiveObject1= new newProject.MActiveObject();
////
           this.mActivePicture1 = new newProject.MActivePicture();
           ((System.ComponentModel.ISupportInitialize)(this.mActivePicture1)).BeginInit();
           this.SuspendLayout();
           //
           // mActivePicture1
           //
           mActiveObject1.MaskColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
           mActiveObject1.Name = "MyNewObject";
           mActiveObject1.State = newProject.MActiveObjectState.None;
//Это сама коллекция
           this.mActivePicture1.ActiveObjects.Add(mActiveObject1);
/////


А хотелось бы, что бы было что-то типо

CODE


           newProject.MActiveObject  MyNewObject = new newProject.MActiveObject();
           this.mActivePicture1 = new newProject.MActivePicture();
           ((System.ComponentModel.ISupportInitialize)(this.mActivePicture1)).BeginInit();
           this.SuspendLayout();
           //
           // mActivePicture1
           //
           MyNewObject.MaskColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
           MyNewObject.Name = "MyNewObject";
           MyNewObject.State = newProject.MActiveObjectState.None;
           this.mActivePicture1.ActiveObjects.Add(MyNewObject);



Вот, надеюсь понятно...
Attached Image


--------------------
Обьединенные части целого есть нечто большее, чем просто их сумма.
 
     Top
Atu
Posted: Dec 18 2008, 13:29

Eye of the Vision

Group: Moderator
Member No.: 58

Joined: March 15, 2003

а можно чуть поподробнее об этом "MyNewObject"?

--------------------
Познание бесконечности требует бесконечного времени. А потому работай не работай – все едино. ©
 
    Top
DZUK
Posted: Dec 18 2008, 17:09

Light Bringer

Group: Elite Member
Member No.: 2803

Joined: March 29, 2007

Можно и поподробней, тока тссссс.... Никому.


Это сам обьект
CODE


   public class MActiveObject
   {
       private string name = "ActiveObject";
       private Color color = Color.FromArgb(192, Color.Black);
       private MActiveObjectState state = MActiveObjectState.None;
       private Color disabledColor = Color.FromArgb(192, Color.Gray);
       private Color selectedColor = Color.FromArgb(192, Color.DarkBlue);
       private Color maskColor = Color.FromArgb(255, 0, 0, 0);



       [DefaultValue("ActiveObject")]
       public string Name { get { return name; } set { name = value; } }
       [DefaultValue(typeof(Color), "192, 0, 0, 0")]
       public Color Color { get { return color; } set { color = value; } }


       [Browsable(false)]
       public MActiveObjectState State
       {
           get { return state; }
           set
           {
               //   if (state != value && StateChanged!=null)
               //       StateChanged(this, state);                
               state = value;
           }
       }

       [Browsable(false)]
       public Point MaskPoint = Point.Empty;

       [DefaultValue(typeof(Color), "192, 128, 128, 128")]
       public Color DisabledColor { get { return disabledColor; } set { disabledColor = value; } }
       [DefaultValue(typeof(Color), "192, 0, 0, 139")]
       public Color SelectedColor { get { return selectedColor; } set { selectedColor = value; } }
       [DefaultValue(typeof(Color), "255, 0, 0, 0")]
       public Color MaskColor { get { return maskColor; } set { maskColor = value; } }

       // public event MActiveObjectStateChangeHandler StateChanged;
   }

   public enum MActiveObjectState
   {
       Disabled = 1,
       Selected = 2,
       None = 3
   }



Это коллекция обьектов

CODE


   public partial class MActiveObjectsCollection : ArrayList
   {
       public event MActiveObjectsCollectionChangeHandler CollectionChanged;
       public new MActiveObject this[int index]
       {
           get { return base[index] as MActiveObject; }
           set
           {
               if (base[index] != value)
               {
                   base[index] = value;
                   if (CollectionChanged != null)
                       CollectionChanged(this, index);
               }
           }
       }
       public override int Add(object value)
       {
           int index = base.Add(value);
           if (CollectionChanged != null)
               CollectionChanged(this, index);
           return index;
       }
       //public override void Remove(object obj)
       //{
       //    base.Remove(obj);
       //}
   }



это обьявление в классе, где это все используется.

CODE

       [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
       public MActiveObjectsCollection ActiveObjects { get { return objects; } }


вроди всеsmile.gif

--------------------
Обьединенные части целого есть нечто большее, чем просто их сумма.
 
     Top
Master of Puppets
Posted: Dec 18 2008, 17:38

Eye of the Vision

Group: Moderator
Member No.: 2067

Joined: August 29, 2006

DZUK: код пропиетарный что ли? smile.gif

--------------------
Master of Puppets, I'm pulling your strings, twisting your mind and smashing your dreams!
⠠⠵
 
       Top
20 replies since Dec 2 2008, 19:27 Track this topic | Email this topic | Print this topic
Pages: (2) [1] 2 
<< Back to Windows programming

 




Arminco Global Telecommunications