|
Hi!
I have a piece of code in which 2 entries are taken from the user:
1. Bank Name
2. Bank Logo (an image)
then, an sql query is created to store the information into a mysql database in which the field names and their datatypes are given below respectively:
1. Bank_Name - Varchar(50)
2. Bank_Logo - Long blob
both fields cannot contain null values. THe code is pasted below:
<br />
<br />
Public Function InsertBank(StrQuery as string, name as String, image() as byte)<br />
{ <br />
Dim Cn As New Odbc.OdbcConnection(ConString)<br />
Dim cmd As New Odbc.OdbcCommand<br />
cmd.CommandText = strQuery<br />
<br />
cmd.Parameters.Add("@BNAME", Odbc.OdbcType.VarChar)<br />
cmd.Parameters.Add("@PIC", Odbc.OdbcType.Binary)<br />
<br />
cmd.Parameters("@BNAME").Value = name<br />
cmd.Parameters("@PIC").Value = image<br />
<br />
cmd.Connection = Cn<br />
Cn.Open()<br />
cmd.ExecuteNonQuery()<br />
Cn.Close()<br />
}<br />
the strQuery which i am passing to the function is like below:
"Insert into tblBank (Bank_Name,Bank_Logo) values (@BNAME,@PIC)"
However, when i call the function i get an error that bank_name cannot contain null value. I have rechecked again and again, but the bank name does not have any null value, it is passing a value from the text box and it is passed perfectly well...i dunt know what the problem is...kindly help...its urgent!
|
|
|
|
|
I don't use MySQL so my answer may be wrong.
Your "function" is badly written. It doesn't return a value, so it's a Sub, not a Function. Your code also specifies that a query string be passed to it, though that string MUST use the two hard-coded parameters in the code.
Your also not specifying the size of the fields when you create the parameters. I don't know if this is causing the problem, but I'd fix it to be sure:
Public Sub InsertBankLogo(ByVal BankName As String, ByVal BankLogo() As Byte)
Dim cn As New ObdcConnection(ConString)
Dim cmd As New OdbcCommand("INSERT INTO tblBank (Bank_Name, Bank_Logo) VALUES (?, ?)", cn)
cmd.Parameters.Add("@BNAME", OdbcType.VarChar, field length).Value = BankName
cmd.Parameters.Add("@PIC", OdbcType.Binary, field length).Value = BankLogo)
cn.Open()
cn.ExecuteNonQuery()
cn.Close()
End Sub
There's about a dozen more things wrong with this, but the biggest part is that you're not specifying the length of the fields that the SQL code is expecting.
|
|
|
|
|
given a vector of dates (past dates and future ones), how can one extract a new vector showing remaining future dates from today
|
|
|
|
|
By iterating over the collection and pulling out dates that are in the future ?
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
It saddens me that some people have such poor logical ability.
|
|
|
|
|
On the otherhand I'm feeling fairly secure in my job ..
I'm largely language agnostic
After a while they all bug me
|
|
|
|
|
Please see my code below, for some reason it fails. can you help
definitions: valdate = date today
ipos = an indicator = +1 or -1 depending if a bond was bought or borrowed.
notional = amount of bond bought or borrowed
d1 = date when bond was launched
d2 = date when bond matures
freq = frequency of interest repayments
coupon = interest rate used to calculate coupon repayments
Function bondcashflow(valdate, ipos, notional, d1, d2, freq, coupon)
Dim p, m As Integer
Dim v()
Dim cashflow()
ReDim cashflow(2, m) As Variant
Dim n As Long
n = Application.Round(DateDiff(dateinterval.Day, d1, d2) / 365, 0) * freq
For i = 0 To n - 1
If freq = 1 Then
v(i) = DateAdd(dateinterval.Year, i, d1)
ElseIf freq = 2 Then
v(i) = DateAdd(dateinterval.Month, 6 * i, d1)
ElseIf freq = 4 Then
v(i) = DateAdd(dateinterval.Month, 3 * i, d1)
Else: v(i) = DateAdd(dateinterval.Year, 12 * i, d1)
End If
m = 0
If valdate < v(i) Then
m = m + 1
End If
Next i
p = n - m
For k = 0 To p - 1
cashflow(k, 1) = v(m)
Do While k < p - 1
cashflow(k, 2) = ipos * coupon * notional
Loop
Next k
cashflow(p - 1, 2) = ipos * (notional + coupon * notional)
bondcashflow = cashflow
End Function
|
|
|
|
|
I have an asset (bond) with start date, coupon payment dates and the maturity date. I would like to write a programm to give me the next cashflow dates any time during the life of the bond.
|
|
|
|
|
OK, sounds like fun. Did you want to pay someone to write it for you, or were you hoping to have a shot at it yourself ? I assume you understand the maths behind what you want to calculate, if not, there's google. Maths is what PCs do best, the code should be straightforward, but if you try to impliment something and it doesn't quite work, post your code and we'd love to help you.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Danisto wrote: I have an asset (bond) with start date, coupon payment dates and the maturity date. I would like to write a programm to give me the next cashflow dates any time during the life of the bond.
Cool. Did you have a question in there somewheres? Or are you looking for someone to do your work for you?
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Hi,
I am Developing a software using VB6.0 as Frontend and MSAccess as Backend. I have used ADODC component and ODBC connection string to connect to DB. I am looking for a code to SEARCH THE DB for a specific record in a specific field and then DISPLAY THE SAME RECORD in the corresponding objects in the Frontend. For e.g:- Suppose, if I gave criteria as Resolution Number = 143162216 using a TextBox, then the code should search the entire table under the column named 'Resolution_Number' and if that No. is found, then the whole information regarding that Resolution Number is displayed at the frontend application (VB6.0) in that specific object,e.g:- for 'User Name' I have used a TextBox, then the 'Name' in the table should be displayed in that TextBox, for 'Type Of User' I have used a ListBox, then the 'User Type' from the table must be displayed in that ListBox.
I tried the 'Find' property of the 'RecordSet' object, but it did not worked properly. Also i tried the assignment operator(=) to assign the value of the field in the table to the corresponding object (Textbox, ListBox,etc.), but that also didn't worked.
Awaiting for help.
Thanx & Regards.
Success is not a Destination,
... But a Journey !!
|
|
|
|
|
Thank you - that is truly the most annoying post ever.
Why are you using VB6 ? Do you have no choice, or do you just hate yourself ?
It sounds to me like you're asking how to write basic SQL.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
If u don't know the ans then Plz mind ur own business... OK...
If u can't help others then Plz don't try to annoy them at least... Is it clear??
Thanx & Regards.
Success is not a Destination,
... But a Journey !!
|
|
|
|
|
Vikrant Badhai wrote: If u can't help others then Plz don't try to annoy them at least... Is it clear??
Well, you are the one who is making the posts that are so annoying to look at, that I didn't read it all.
And, you're using VB6, so I don't see how anything could be more annoying than that.
(edit) Now I have read it all and I was right. You're asking how to do a basic SQL query. You just aren't providing enough info that anyone can really offer much more help than what I already did, which is to tell you that you need to write an SQL query to get the data you need.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
He did help you by telling to use SQL. Very BASIC SQL.
|
|
|
|
|
Whats wrong with VB6?
www.wickedorange.com
www.andrewvos.com
|
|
|
|
|
It's dead, not supported anymore, no updates, and you have to write everything from scratch that you would find quite easy to do using the .NET Framework in FAR less code.
|
|
|
|
|
The major problem is that i have a low config computer. It does not support .NET and SQL. It becomes too heavy if i install .NET. that's why i am using VB 6.0 and Access.and i know i'll be able to convert it into .NET project afterwards, but till then i have to use VB 6.0 and Access.
Thanx & Regards.
Success is not a Destination,
... But a Journey !!
|
|
|
|
|
AndrewVos wrote: Whats wrong with VB6?
Not much, the real problem is with the monkeys that use it.
|
|
|
|
|
I think ONLY I got you JOKE
OK,. what country just started work for the day ? The ASP.NET forum is flooded with retarded questions. -Christian Graus
Best wishes to Rexx[^]
|
|
|
|
|
VB6 is no longer supported. Moving up to VB.NET is Microsoft's intentions these days.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Why are you using VB6 ?
Because that's the only development product supported by Microsoft. And they have planned to support it till 3020. That's worth learning VB6.0. If you haven't started learning it,I can say your future is at stake!
OK,. what country just started work for the day ? The ASP.NET forum is flooded with retarded questions. -Christian Graus
Best wishes to Rexx[^]
|
|
|
|
|
Why do you use bold text and caps in that manner? When I do that, it's because i want to annoy the person i'm writing to. Do you want to annoy us? All of us? 'Cause this is a public board, compadre - when you post, you're addressing each and every one of the readers. And addressing us in this way is a sure way to make new enemies.
But who is the king of all of these folks?
|
|
|
|
|
i don't want to annoy anyone. i am using bold text to show the importance of that sentence. for e.g:- i use bold text for the name of a textbox object, so that all should be able to recognise that it is the name of the textbox. i think all of u misunderstood me. And another major problem is that i have a low config computer. It does not support .NET and SQL. It becomes too heavy if i install .NET. that's why i am using VB 6.0 and Access.and i know i'll be able to convert it into .NET project afterwards, but till then i have to use VB 6.0 and Access.
Thanx & Regards.
Success is not a Destination,
... But a Journey !!
|
|
|
|
|
Vikrant Badhai wrote: Awaiting for help.
Get yourself a book on SQL and use Google for ADO. That Find method is only going to work on a result set AFTER the DB was queried (this may make a difference depending on how the recordset was created). Most of this should be covered in just about any beginner's text.
Also, VB6 is dying (a lot is still in use as old code). If you have to use VB, you may wanna look into VB.NET instead.
|
|
|
|