2010-04-22 6 views
0

SO Я создаю «базовый» файл входа, в который входит человек, и данные, введенные в эту форму, передаются в другую форму, а также мою базу данных/таблицу.Вставка данных в базу данных

Я думаю, что проблемы здесь, но я выложу остальную часть кода.

CREATE FUNCTION dbo.Function4 
(

parameter1 int = 5, 
parameter2 datatype 

) 
RETURNS Table1 TABLE (UserName, Password, Password_Confirmation, Assets) 
AS 
BEGIN 
    INSERT INTO Table1 
    (UserName, Password, Password_Confirmation, Assets) 
    VALUES 
    (a,b,c,d); 
    /*SELECT ... FROM ...*/ 
RETURN 
END 

Это Войти Форма

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace Login_Basic 
{ 
    public partial class Form2 : Form 
    { 
     public Form2() 
     { 
      InitializeComponent(); 
     } 

     Form3 Delta = new Form3(); 

     private void label3_Click(object sender, EventArgs e) 
     { 

     } 

     private void Form2_Load(object sender, EventArgs e) 
     { 
      this.Hide(); 

     } 

     private void textBox6_TextChanged(object sender, EventArgs e) 
     { 

     } 

     private void textBox6_KeyPress(object sender, KeyPressEventArgs e) 
     { 
      int i = Convert.ToInt32(e.KeyChar); 
      if (!(Char.IsDigit(e.KeyChar) || Char.IsControl(e.KeyChar) || (e.KeyChar == '.' && this.Text.Contains(".") == false))) 
       e.Handled = true; 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      Delta.Show(); 



      //if (textBox3.Text.Equals("")) 
      //{ 
      // MessageBox.Show("Please enter your username"); 
      //} 
      //else 
      //{ 
      // this.Hide(); 
      //} 



      // if (textBox4.Text.Equals("")) 
      //{ 
      // MessageBox.Show("Please enter your password"); 

      // } 
      // else 
      //{ 
      // this.Hide(); 
      // } 

      // if (textBox5.Text.Equals("")) 
      // { 
      //  MessageBox.Show("Please re-enter your password"); 

      // } 
      // else 
      // { 
      //  this.Hide(); 
      // } 

      //if (textBox6.Text.Equals("")) 
      //{ 
      //  MessageBox.Show("Please enter your amount"); 
      //  
      // } 
      // else 
      // { 
      //  this.Hide(); 
      // } 



     } 

     private void button3_Click(object sender, EventArgs e) 
     { 
      this.Hide(); 

     } 

     private void textBox3_TextChanged(object sender, EventArgs e) 
     { 

     } 

     private void textBox4_TextChanged(object sender, EventArgs e) 
     { 

     } 

     private void textBox5_TextChanged(object sender, EventArgs e) 
     { 

     } 

     private void panel2_Paint(object sender, PaintEventArgs e) 
     { 
      /*if (textBox3.Text.Equals("") && textBox4.Text.Equals("") && textBox5.Text.Equals("") && textBox6.Text.Equals("")) 
      { 
       button1.Enabled = false; 

      } 
      else 
      { 
       button1.Enabled = true; 


      }*/ 
     } 
    } 
} 

Вот "Pic" в моей базе данных

http://s299.photobucket.com/albums/mm305/krsimms123/Code.jpg

Заранее спасибо (я постараюсь проверить это каждые несколько часов поэтому я могу помочь объяснить все)

+0

Я думаю, вы должны войти в Habbit дать более осмысленные имена, а не button1, TextBox1 и т.д ... Это будет сэкономить много времени спустя. –

+3

В чем проблема? –

+0

Есть ли здесь вопрос? Ваша функция возвращает таблицу ... ваш код ничего не делает по мере доступа к данным. – jfrobishow

ответ

0

ваша функция есть inserti ng (a, b, c, d)?

CREATE FUNCTION dbo.Function4() 
RETURNS Table1 TABLE (UserName, Password, Password_Confirmation, Assets) 
AS 
BEGIN 
    SELECT UserName, Password, Password_Confirmation, Assets FROM Table1 
    RETURN 
END 
2

У меня создалось впечатление, что вы не можете обновлять или вставлять записи из функции TSQL.

See this link

определяемые пользователем функции не могут быть использованы для выполнения набора действий, которые изменяют глобальное состояние базы данных. Пользовательские функции, такие как система , могут быть вызваны из запроса . Они также могут быть выполнены с помощью инструкции EXECUTE типа хранимых процедур.

ДОБАВЛЕНО:

Вы должны использовать хранимую процедуру, как Meff указал ниже.

CREATE PROCEDURE InsertLoginAttempt 
    @UserName nvarchar(25) 
    @Password nvarchar(25) 
AS 
    INSERT INTO Table1 (UserName, Password) 
    VALUES (@UserName, @Password) 

См this link о том, как вызвать хранимую прок от .net

+1

Просто заметили это, но вы избили меня. Он хочет хранимую процедуру для INSERTS. – Meff

Смежные вопросы