PDA

View Full Version : سوال: مشکل این کد چیه ؟



keyvan_s89
دوشنبه 12 فروردین 1392, 16:58 عصر
سلام
من اینو نوشتم برای آپدیت گرید ویو

SqlDataAdapter dt;
DataSet ds;
SqlCommandBuilder com_b;
dt = new SqlDataAdapter("select * from log", objcon);
ds = new DataSet();
dt.Fill(ds, "t");
com_b = new SqlCommandBuilder(dt);
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "t";
اینم تویه دکمه
dt.Update(ds, "t");


ولی این ارور رو میده
Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

aghayex
دوشنبه 12 فروردین 1392, 18:21 عصر
من تا حالا با SqlCommandBuilder کار نکردم اما قتی می خوام یه مقدار رو در یه دیتاگرید بریزم به این صورت عمل می کنم

Datatable t=new datatable();
SqlDataAdapter dt= new SqlDataAdapter();
Dt.sqlcommand=new sqlcommand();
Dt. Sqlcommand.connection=شی کانکشن استرین رو بهش معرفی می کنی;
Dt. Sqlcommand.command="select * from log";
شی کانکشن استرین.open();
dt.Fill(t);
dataGridView1.DataSource = t.defualtview();
شی کانکشن استرین.close();

keyvan_s89
دوشنبه 12 فروردین 1392, 21:16 عصر
من تا حالا با SqlCommandBuilder کار نکردم اما قتی می خوام یه مقدار رو در یه دیتاگرید بریزم به این صورت عمل می کنم

Datatable t=new datatable();
SqlDataAdapter dt= newSqlDataAdapter();
Dt.sqlcommand=new sqlcommand();
Dt. Sqlcommand.connection=شی کانکشن استرین رو بهش معرفی می کنی;
Dt. Sqlcommand.command="select * from log";
شی کانکشن استرین.open();
dt.Fill(t);
dataGridView1.DataSource = t.defualtview();
شی کانکشن استرین.close();

ارور داره کدتون.

من برای آپدیت یه مقدار تویه گرید اینو نوشتم کد شما هم همین کار رو میکنه؟

keyvan_s89
دوشنبه 12 فروردین 1392, 22:12 عصر
نبود؟؟؟؟؟؟/

esafb52
دوشنبه 12 فروردین 1392, 23:29 عصر
دوست عزیز شما چطور برای با ول اطلاعاتون رو گرید نمایش میدن؟؟کافیه یه سلکت بزنی و شو کنی همین

esafb52
دوشنبه 12 فروردین 1392, 23:46 عصر
اینم یه نمونه کد هرجا بعد از هر عملی متد loadallرو اجرا کن

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

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private OleDbConnection con = new OleDbConnection(@"");
private OleDbCommand cmd = new OleDbCommand();
private OleDbDataAdapter da = new OleDbDataAdapter();
private DataSet ds = new System.Data.DataSet();
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
}

public DataSet LoadAll()
{
cmd.CommandText = "select * from table";
cmd.Connection = con;
da.SelectCommand = cmd;
con.Open();
da.Fill(ds, "table");
con.Close();
return ds;
}
}
}

keyvan_s89
دوشنبه 12 فروردین 1392, 23:53 عصر
من میخام اطلاعاتی که تویه گرید نشون داده میشه رو با کلیک کردن روی هر سطر بتونم تغییر بدم

keyvan_s89
دوشنبه 12 فروردین 1392, 23:53 عصر
تویه web app تونستم ولی تویه windows app نمیدونم چرا نمیشه !

esafb52
سه شنبه 13 فروردین 1392, 00:01 صبح
خب حالا مشکل چیه اطلاعات تغییر پیدا نمیکنن یا بعد از تغییر ثبت نمیشن؟؟؟!!

keyvan_s89
سه شنبه 13 فروردین 1392, 00:04 صبح
با اون کدی که نوشتم تویه سطر اون همون ارور رو میده