• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

مشکل در به روز کردن بانک اطلاعاتی

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
سلام
من وقتی می خوام بانک اطلاعاتیم رو با وی بی.نت به روز کنم پیغام زیر رو نشون می ده میشه منو راهنمایی کنید چه جوری بانک اطلاعاتی رو به روز کنم

Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

اگه میشه جوابشو برام میل کنید.
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
شما در دیتاسورس تنظیم کردید که updatecommand رو از روی select command بسازه،
احتمالا این کار رو دستی انجام دادید.
این کار وقتی امکان پذیره که در select command شما ، primary key جدول هم انتخاب شده باشه
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
ببخشید اگه مشکلی نیست با یه مثال کوچولو بهم نشون بدید که چطور می شه اینکارو کرد
چون من آپدیت کردن بانک اطلاعاتی رو از رو یه کتاب خوندم و نوشتم ولی بهم ارور داد و نفهمیدم چیکار باید بکنم

توی کتاب چیزی از primary key ننوشته بود. Primary key چی هست؟ چه جوری باید اونو گیر آورد؟

ممنون
 
Last edited:

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
شما کدی رو که نوشتی برای این کار، اینجا paste کن تا بهتر بشه راهنماییتون کرد، اینجوری بدون کد فقط میشه حدس زد چی به چیه ;)
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1

اینم کدهایی که من نوشتم


Dim ConnectionString As String = "Provider= Microsoft.Jet.OLEDB.4.0;" & _
"Data source=d:\database1.mdb"
Dim dbConnection As New OleDbConnection(ConnectionString)
Dim QueryString As String = "Select * FROM Images;"
Dim dbCommand As New OleDbCommand
dbCommand.CommandText = QueryString
dbCommand.Connection = dbConnection
Dim DataAdapter As New OleDbDataAdapter(dbCommand)
Dim CommandBuilder As OleDbCommandBuilder
CommandBuilder = New OleDbCommandBuilder()
CommandBuilder.DataAdapter = DataAdapter
DataAdapter.UpdateCommand = CommandBuilder.GetUpdateCommand
 
Last edited:

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
در جدول image ، چه فیلد هایی دارید؟
آبا این جدول ، Primary Key داره ؟
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
جدول Images این فیلد ها رو داره
ID, ImageID , ImageTitle, Size1, Size2, Size3, Size4, Size5, Views, RateSum, RateCount

نمی دونم primary key داره یا نه. از کجا باید بفهمم؟
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
عکس کلید نداره
من از Visual Studio 2008 و VB استفاده می کنم
بانک اطلاعاتیمم مال اکسسه ولی می خوام از بانک اطلاعاتی SQl برای سایت استفاده کنم
فکر می کنید باز هم این مشکل رو داشته باشم؟
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
شما با هر پایگاه داده ای کار میکنید، باید یک کلید اصلی برای جدول داشته باشید
این کلید اصلی به صورت یونیک خواهد بود که توسط اون شما میتونین به یک سطر از جدول اشاره کنید
در جدولی که دارید، اون فیلدی که مقادیر اون برای هر سطر متفاوت از سطر های دیگه هست رو تبدیل به کلید کنید
روش رایت کلیک کنید و primary key رو انتخاب کنید
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
من ID رو به عنوان Primary Key انتخاب کردم
حالا انتخاب و آپدیت کردن بانک اطلاعاتی با قبل فرقی هم می کنه یا نه؟

اگه مشکلی نیست برای همون جدولی که کدها و فیلدهاش رو نوشتم یه مثال بزنید که توی اون هم بانک اطلاعاتی رو تغییر داده باشید و هم اون رو به روز کرده باشید.

ممنون
سال نو مبارک
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
الان که شما Primary key داری، کد شما باید کار کنه
فرقی با قبل نمیکنه فقط حواست باشه اگر مقدار تکراری تو کلید اصلی وارد کنی، error میده
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
نه کلید اصلی یه Auto Number و من نمی تونم بهش مقدار بدم برای همین فکر نکنم مشکلی پیش بیاد ولی اگه مشکلی بود مزاحم می شم.
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
یه مشکل دیگه داشتم
من وقتی به مقدار فیلد Views بانک اطلاعاتیم یکی اضافه می کنم و اونو بروز می کنم توی فایل اصلی به اون دوتا اضافه می شه
از روش های مختلفی هم استفاده کردم ولی همش یه جوره فقط اعداد زوج توی این فیلد ثبت می شه
البته تنظیمات فیلد رو هم تغییر ندادم ولی نمی دونم چرا اینجوری می شه

یه سوال دیگه هم داشتم می خواستم بدونم چه جوری می شه تعداد رکورد های یک جدول از بانک اطلاعاتی رو به دست آورد . البته با کد نویسی
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
سوال اول رو تو بخش دیتابیس بسته به این که access هست یا sql server تو بخش خودش بپرس

سوال دوم:
کد:
select count(*) as AllRecords from table
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
بانک اطلاعاتیم اکسسه ولی در مورد این کدی که نوشتید می شه یه توضیح کوچیک بدید

من می خوام تعداد رکوردهای جدول بانک اطلاعاتیم رو به دست بیارم و اونایی رو که همگی دارای یه مشخصه خاص هستند بشمارم
یه مشکل دیگه هم امروز پیدا کردم اونم اینه که من یه ImageButton دارم و وقتی توی کد نویسی می خوام ImageUrl اونو تغییر بدم تا عکسی رو که من می خوام نشون بده از
Server.mappath("Images/Thumb/Twilight_1.gi")1
استفاده می کنم ولی عکس رو برام نمایش نمی ده عدد یک رو گذاشتم تا کدها درست نشون داده بشن
توی اینترنت اکسپلورر هم که کدهاش رو می بینم مقدار Src عکس رو درست مقدار دهی کرده ولی نمی دونم چرا عکس ها رو نشون نمی ده
از این کدهم استفاده کردم ولی جواب نمی ده
ImageButton1.ImageUrl = "~/Images/Thumb/Twilight_1.gif" '1
اگه میشه بگید چجوری می شه یه عکس رو برای کنترل ImageButton تعریف کرد تا نشون بده
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
راستی از VB.net استفاده می کنم اگه می شه توی این زبون توضیح بدید
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
سلام یه مشکل برام پیش اومده اگه میشه منو راهنمایی کنید.
من توی بانک اطلاعاتیم یه جدول دارم که می خواستم اطلاعات اونو با یه Repeater نمایش بدم ولی نمی خوام همه رکوردهای اون جدول نشون داده بشه
می خوام فقط اون رکوردهایی که یه ویژگی خاص دارن مثلا ویژگی GalleryID توی اونها یکی نشون داده بشن.
از بانک اطلاعاتی اکسس و زبان VB استفاده می کنم
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
پیشنهاد میکنم شما ابتدا یه مطالعه کلی روی زبان sql داشته باشید..
برای اینکه با شرط خاصی مقادیر بازگشتی از دیتابیس داشته باشید باید از WHERE استفاده کنید
کد:
select name,phone from table where id=2
 
بالا