Yes, you are right. So thanks for your useful comment.
I changed the code in this form:
//create signature
Signature signature = Signature.getInstance("DSA");
signature.initSign(privkey);
signature.update(datatoSign);
byte[] Sign=signature.sign();
//encode the Sign to Base64
String MySign=new String (Base64.encode(Sign));
mystatment.executeUpdate("UPDATE mytable SET sign = '"+MySign+"' ");
//Now I a will fetch the tuple AND verfiy the signature by public key
SQL="SELECT * FROM notebooks "
rs=(stat.executeQuery(SQL));
//decode the fetched signature from DB
TheSign=Base64.decode(rs.getString("sign"));
boolean Verification;
signature.initVerify(pubkey);
signature.update(datatoSign);
Verification=signature.verify(TheSign);