PDA

View Full Version : insert to database



User-os
چهارشنبه 11 اردیبهشت 1387, 08:45 صبح
سلام .دوستان لطف کنید قطعه کدی رو که پایین برای insert نوشتم بخونید و اشکالاتش رو ( از نظر دستوری )بگید.خیلی گیرشم .از تاپیکهای مشابه این موضوع به نتیجه نرسیدم




publicpartialclassForm1 : Form

{
OleDbCommand cmd;
OleDbConnection cnn;
OleDbDataAdapter da, ;
DataSet dset;

public Form1()
{
InitializeComponent();
cnn =newOleDbConnection();
cnn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\db1.mdb;Persist Security Info=False";
}
privatevoid button1_Click(object sender, EventArgs e)
{ cnn.Open();
cmd = newOleDbCommand();
cmd = newOleDbCommand("INSERT INTO table1 (first,last)" +
"VALUES ('" + this.tb1.Text
+ "','" + this.tb2.Text +
"')", cnn);
cmd.Connection = cnn;
da.InsertCommand = cmd;
dset = newDataSet();
da.Fill(dset);

cmd.ExecuteNonQuery();

مهدی رحیم زاده
چهارشنبه 11 اردیبهشت 1387, 09:34 صبح
توی این لینک نمونه برنامه های خیلی خوبی هست . حتما به نتیجه می رسی :
http://barnamenevis.org/forum/showthread.php?p=231175

mona_z
چهارشنبه 11 اردیبهشت 1387, 09:45 صبح
private SqlCommand sqlcom=new SqlCommand
private SqlConnection sqlcon=new SqlConnection ("رشته اتصال")
BUTTON_CLICK()
{
sqlcom.commandtext="insert into tabel1 (fileds) values('"+text1.text ,'"+text2.text+"'+""))"
}
sqlcon.open()
sqlcom.executnonquery()
sqlcon.close()
مطمئن باش بدون dataset جواب ميگيري

User-os
چهارشنبه 11 اردیبهشت 1387, 11:03 صبح
کد رو این طور اصلاح کردم اما روی

cmd.ExecuteNonQuery

مینویسه:Syntax error in INSERT INTO statement.


cmd = newOleDbCommand
cmd = newOleDbCommand("INSERT INTO table1 (first,last)" +
"VALUES ('" + this.tb1.Text
+ "','" + this.tb2.Text +
"')", cnn);
cmd.Connection = cnn

cnn.Open()

cmd.ExecuteNonQuery()
cnn.Close()

eAmin
چهارشنبه 11 اردیبهشت 1387, 11:15 صبح
سلام.

لطفا کدها رو داخل تگ # کد قرار بده.

قسمت تیبل یک یه تغییر کوچیک دادم شاید بشه...



newOleDbCommand
cmd = newOleDbCommand("INSERT INTO [table1] (first,last)" +
"VALUES ('" + this.tb1.Text
+ "','" + this.tb2.Text +
"')", cnn);
cmd.Connection = cnn

cnn.Open()

cmd.ExecuteNonQuery()
cnn.Close()

User-os
چهارشنبه 11 اردیبهشت 1387, 12:18 عصر
نه بابا هنوز هم همون error رو میده

User-os
چهارشنبه 11 اردیبهشت 1387, 13:50 عصر
کسی نیست جواب بده بابا این اونقدر راحت به نظر میرسه که خودمم خجالت کشیدم نوشتم
ولی گیر کرده چی کار کنم

hassan razavi
چهارشنبه 11 اردیبهشت 1387, 13:57 عصر
INSERT INTO table1 (first,last) VALUES ('ss' ,'dd')

User-os
چهارشنبه 11 اردیبهشت 1387, 15:15 عصر
نه بابا درست نشد .عجب ! یعنی هیچکی یه کد به این سادگی رو نمیتونه درست کنه

مهدی رحیم زاده
چهارشنبه 11 اردیبهشت 1387, 20:22 عصر
نه بابا درست نشد .عجب ! یعنی هیچکی یه کد به این سادگی رو نمیتونه درست کن
دوست عزیز
اینجا کسی تعهد نکرده که کد شما رو درست کنه ؟!
اینجا یه جای آموزشیه و راهنمایی میشه و حل مشکلات به عهده خود شماست و اگر میبینید که دوستان دارن توی حل اشکالات کد رو میزارن و یا اونو اصلاح می کنن به خاطر لطف بیش از حد اوناست و نباید برای کسی حقی ایجاد کنه .
بهتر اینه که شما خودتون یک بار دیگه کدتون رو با دقت چک کنید تا اشکال اونو پیدا کنید و مطمئن باشید که درست میشه .
موفق باشید .

User-os
چهارشنبه 11 اردیبهشت 1387, 22:10 عصر
بله فرمایش عالی کاملا قبول . در این شخصا هیچ شکی ندارم که دوستان بعضی وقتها با وجود اطلاعات زیادشون سوالات پیش پا افتاده ی افراد مبتدی مثل منو جواب میدن.
(دلیل محبوبیت و افزایش کاربرای این سایت هم همینه)

اگر من با این لحن مینویسم دلیلش اینه که 3 روز وقتمو تو اینترنت و ویژوال خرج کردم برای 3 خط کد ساده .ولی روی همون خطا گیر کرده

ما همچنان دست بوس همه هستیم!

User-os
چهارشنبه 11 اردیبهشت 1387, 22:33 عصر
دوباره کد رو با sql به این شکل نوشتم خطا روی خط=cmd.ExecuteNonQuery
اینطوری شد:Line 1: Incorrect syntax near '-'.






using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace sql
{
publicpartialclassForm1 : Form

{
SqlCommand cmd;
SqlConnection cnn;
SqlDataAdapter da;
DataSet dset;

public Form1()
{

InitializeComponent();
cnn =newSqlConnection();
cnn.ConnectionString = ("integrated security=SSPI;persist security info=True;initial catalog=me2");
}
privatevoid button1_Click(object sender, EventArgs e)
{;
SqlCommand cmd = newSqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "INSERT INTO my-t (first, last)" +
"VALUES(@first, @last)";
cmd.Parameters.AddWithValue("@last2", textBox1.Text);
cmd.Parameters.AddWithValue("@first2", textBox2.Text);

cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}
}
}

مهدی رحیم زاده
پنج شنبه 12 اردیبهشت 1387, 06:08 صبح
سلام دوست عزیز
من که گفتم بهتره که شما بهتر روی کدی که نوشتین دقت کنید .

دوباره کد رو با sql به این شکل نوشتم خطا روی خط=cmd.ExecuteNonQuery
اینطوری شد:Line 1: Incorrect syntax near '-'
این اشکال رو یه بار دیگه بررسی کنید . ببینید خیلی واضحه شما باید توی اسم Table از "-" استفاده نکنید . مثلا به جای اون از "_" استفاده کنید .
یعنی این کد رو جایگزین کنید ، فکر می کنم که درست بشه :

INSERT INTO my_t (first, last)" +
"VALUES(@first, @last)
البته اسم Table رو هم باید با _ تغییر بدین و یک نکته دیگه بهتره که از First و Last به همراه یک _ استفاده کنید آخه اونو کلمات رزرو شده Sql هستن .
موفق باشید .